当前位置: 移动技术网 > IT编程>脚本编程>Python > Python爬取豆瓣电影评分Top250

Python爬取豆瓣电影评分Top250

2020年07月11日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网