Python爬取豆瓣电影评分Top250
程序员文章站
2022-06-22 08:35:33
Python爬取豆瓣电影评分Top250抓取第一页的电影信息抓取信息如下:上一节已经学习过了,不是问题,重点在如何抓取下一页面的信息,使250个电影信息全部收集到。多页抓取,搜集完整250部电影信息代码写法根据每个网页的特点不同而不同,发现豆瓣网页翻页是通过/top250?start=xxx&filter= 更改xxx的值实现的,不像某些网站采用异步操作。那写一个while循环即可。源码如下:import requestsfrom lxml import etreeprint...
Python爬取豆瓣电影评分Top250
抓取第一页的电影信息
抓取信息如下:
上一节已经学习过了 —>这是传送门
本节重点在如何抓取下一页面的信息,使250个电影信息全部收集到。
多页抓取,搜集完整250部电影信息
代码写法根据每个网页的特点不同而不同,发现豆瓣网页翻页是通过/top250?start=xxx&filter=
更改xxx的值实现的,不像某些网站采用异步操作。那写一个while循环即可。源码如下:
import requests
from lxml import etree
print("豆瓣年度电影信息")
print("--------------")
num = 0
while num <=225:
url='https://movie.douban.com/top250?start='+str(num)+'&filter='
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'
}
response=requests.get(url,headers = header)
#print(response.status_code)
#print(response.text)
obj = etree.HTML(response.text)
#print(obj)
item = obj.xpath('.//ol[@class="grid_view"]/li')
#print(len(item))
for i in item:
try:
title=i.xpath('./div/div[2]/div[@class="hd"]/a/span[1]')[0].text
print(title)
except:
pass
try:
score=i.xpath('./div/div[2]/div[@class="bd"]/div/span[2]')[0].text
print("评分:",score)
except:
pass
try:
comment=i.xpath('./div/div[2]/div[@class="bd"]/p[@class="quote"]/span')[0].text
print(comment)
except:
pass
print("-------------------")
num = num+25
运行截图:
信息存在格式不匹配的地方。比如《九品芝麻官》是没有简介的,这个时候异常抛出就好了。
本文地址:https://blog.csdn.net/qq_46157589/article/details/107221635
上一篇: 造纸术的真正发明者是谁?造纸术对世界有什么影响和意义?
下一篇: 小米要浸泡多久才能煮