爬取豆瓣影评前250名的电影名
- 前250名电影分布于前十页,通过观察前十页的网址可以找到网址变化的规律
- 获取网页源代码,找到目标信息
- 之后用正则表示式对信息进行匹配
# 导入模块
import re
import requests
headers = {
'User-Agent':'Mozilla/5.0'
}
# 请求url,因为一页有25个电影,共10页。这里用一个for函数取10个数字
for i in range(10):
url = 'https://movie.douban.com/top250?start=%s&filter=' % (i * 25)
# 网页响应,requests.get表示请求获取网页,text一般用于返回的文本
response = requests.get(url,headers=headers).text
# 解析网页,在请求网页成功后,就需要解析网页了。
# 这里用到了正则表达式,有不清楚的欢迎在下方留言或指正我的错误。
pattern = re.compile('<li>.*?<em class="">(.*?)</em>.*?<span class="title">'
'(.*?)</span>.*?<.*?"v:average">(.*?)</span>.*?<span>(.*?)'
'人评价</span>.*?<span class="inq">(.*?)</span>.*?',re.S)
# 给解析后的网页文本定义一个变量
items = re.findall(pattern, response)
# 遍历items,打印对应的内容
for item in items:
print("ID:",item[0],
"title:", item[1],
"score:", item[2],
"count:", item[3],
"comment:", item[4])
以上代码参考的是另外一位博主的代码,这里附上链接代码
以下是结果