Python进阶练习与爬取豆瓣T250的影片相关信息
(一)Python进阶练习
正所谓要将知识进行实践,才会真正的掌握
于是就练习了几道题:求素数,求奇数,求九九乘法表,字符串练习
import re
#求素数
i=1;
flag=0
while(i<=100):
flag=0
j=2;
while(j<i):
if(i%j==0):
flag=1
break;
j=j+1
if(flag==0):
print(i,end=' ')
i=i+1 #求奇数
for i in range(1,101):
if(i%2==1):
print(i,end=' ') #字符串练习
str="你好$$$我正在学 Python@#@#现在需要&*&*&修改字符串"
k=str.replace('$$$','').replace('@#@#',' ').replace('&*&*&',' ')
print(k)
p=re.sub('[$@#&*]',' ',str)
print(p) #九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d=%d\t" %(j,i,i*j),end="")
print("")
(二)爬取静态网页
这次我们练习的实战是爬取静态网页,豆瓣T250电影的名字
首先我们分析一页有25个电影,我们想要250个,进行下一页的时候他的链接地址变成“https://movie.douban.com/top250?start=25”同理每翻一页就会增加25.我们就可以对这250个数据进行爬取了
我们要获取的信息是:电影名字,导演与主演以及时间类型,豆瓣评分,多少人评价
将这些信息存入到txt里面
import requests
from bs4 import BeautifulSoup def get_movie():
url = 'https://movie.douban.com/top250' #请求地址
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}#创建头部信息
movie_list=[]
for i in range(0,10):
url = 'https://movie.douban.com/top250?start='+str(i*25)
response=requests.get(url,headers=headers)
soup=BeautifulSoup(response.text,"html.parser")
div_list = soup.find_all('div', class_='info')
for each in div_list:
title = each.find('div', class_="hd").span.text.strip()
info = each.find('div', class_='bd').p.text.strip()
info = info.replace('\\n', '').replace('\\xa0', '')
info = ' '.join(info.split())
star = each.find('span', class_='rating_num').text.strip()
people = each.find('div', class_='star').contents[7].text.strip()
movie_list.append([title, info, star, people])
return movie_list
movie=[]
movie=get_movie()
with open("Top_movie_250.txt","a+",encoding="utf-8") as f:
for i in range(len(movie)):
f.write(str(movie[i]))
f.write("\n")
f.close()
txt展示:

| 日期 | 开始时间 | 结束时间 | 中断时间 | 净时间 | 活动 |
| 3/12 | 20:30 | 21:45 | 0 | 75 | python练习与爬取T25的名字 |
| 3/12 | 22:00 | 22:30 | 5 | 25 | 爬取T250电影的名字,导演,评分等 |
总学习时长:100分钟,净代码行数:90行
Python进阶练习与爬取豆瓣T250的影片相关信息的更多相关文章
- 爬取豆瓣网图书TOP250的信息
爬取豆瓣网图书TOP250的信息,需要爬取的信息包括:书名.书本的链接.作者.出版社和出版时间.书本的价格.评分和评价,并把爬取到的数据存储到本地文件中. 参考网址:https://book.doub ...
- Python爬虫实例:爬取豆瓣Top250
入门第一个爬虫一般都是爬这个,实在是太简单.用了 requests 和 bs4 库. 1.检查网页元素,提取所需要的信息并保存.这个用 bs4 就可以,前面的文章中已经有详细的用法阐述. 2.找到下一 ...
- Python爬虫入门:爬取豆瓣电影TOP250
一个很简单的爬虫. 从这里学习的,解释的挺好的:https://xlzd.me/2015/12/16/python-crawler-03 分享写这个代码用到了的学习的链接: BeautifulSoup ...
- 基于python的scrapy框架爬取豆瓣电影及其可视化
1.Scrapy框架介绍 主要介绍,spiders,engine,scheduler,downloader,Item pipeline scrapy常见命令如下: 对应在scrapy文件中有,自己增加 ...
- python实例:自动爬取豆瓣读书短评,分析短评内容
思路: 1.打开书本“更多”短评,复制链接 2.脚本分析链接,通过获取短评数,计算出页码数 3.通过页码数,循环爬取当页短评 4.短评写入到txt文本 5.读取txt文本,处理文本,输出出现频率最高的 ...
- python爬虫+正则表达式实例爬取豆瓣Top250的图片
直接上全部代码 新手上路代码风格可能不太好 import requests import re from fake_useragent import UserAgent #### 用来伪造爬头部信息 ...
- python3爬取豆瓣排名前250电影信息
#!/usr/bin/env python # -*- coding: utf-8 -*- # @File : doubanmovie.py # @Author: Anthony.waa # @Dat ...
- Python网络爬虫 - 爬取中证网银行相关信息
最终版:07_中证网(Plus -Pro).py # coding=utf-8 import requests from bs4 import BeautifulSoup import io impo ...
- Python的scrapy之爬取豆瓣影评和排名
基于scrapy框架的爬影评 爬虫主程序: import scrapy from ..items import DoubanmovieItem class MoviespiderSpider(scra ...
随机推荐
- ef codefirst VS里修改数据表结构后更新到数据库
2.根据已建立table的数据库建立ADO.NET数据模型在修改表后进入 工具->nuget包管理器->程序包管理器控制台 输入 enable-migrations 后vs会添加一个 ...
- Part-Appium-1
1.安装node > 下载二进制文件,解压后,配置到环境变量 https://nodejs.org/download/release/latest/ > vim ~/.bashrc,exp ...
- The Queen's Super-circular Patio 求栏杆
Input The first line of input contains a single integer P, (1 ≤ P ≤ 1000), which is the number of da ...
- Margin of Error|sample size and E
8.3 Margin of Error 由该公式可知: To improve the precision of the estimate, we need to decrease the margin ...
- cs231n spring 2017 lecture16 Adversarial Examples and Adversarial Training
(没太听明白,以后再听) 1. 如何欺骗神经网络? 这部分研究最开始是想探究神经网络到底是如何工作的.结果人们意外的发现,可以只改变原图一点点,人眼根本看不出变化,但是神经网络会给出完全不同的答案.比 ...
- async包 ES6 async/await的区别
最基本的async 包 ApCollection.find({}).toArray(function (err, aps) { var num = 0; async.whilst( function ...
- Hibernate实现步骤
1. 引入jar文件(hibernate3.jar, lib\required目录下所有的jar,log4j记录的log4j-1.2.16.jar,slf4j-log4j12-1.5.8.jar,oj ...
- node.js 和 npm/cnpm/nrm 的安装
node.js 和 npm/cnpm/nrm 的安装 安装 node.js.去 官网 下载,下载 LTS 版本的.安装时一路点确定,不要改动任何设置. 在 git-bash 或是 cmd 下,输入 n ...
- labview的bool(布尔)按键机械属性
在学习LabVIEW(简称LV)时,布尔控件是常用的控件.布尔控件分为按钮型控件和开关型控件,LV内部并没有区分按钮型还是开关型.这两种布尔控件可以根据需要相互转换,通过配置布尔控件的机械动作属性来实 ...
- com.mysql.jdbc.exceptions.jdbc4.MySQLDataException: '2.34435678977654336E17' in column '3' is outside valid range for the datatype INTEGER.
### Error querying database. Cause: java.lang.reflect.UndeclaredThrowableException### The error may ...