1.本节目标
抓取猫眼电影TOP100榜的电影名称、时间、评分、图片等信息,抓取的站点URL为https://maoyan.com/board/4,提取的结果以文本形式保存下来
2.准备工作
请确保requests、json、re库安装成功
3.抓取分析
我们抓取的目标站点为https://maoyan.com/board/4,打开之后便可以查看榜单信息,如图1-1所示:
排名第一的电影是霸王别姬,页面中显示的有效信息有影片名称、主演、上映时间、上映地区、评分、图片等信息。
将页面滚动到最下方,可以发现有分页的列表,直接点击第2页,观察页面的URL和内容也发生了变化,如图1-2所示。
可以发现页面的URL变成了https://maoyan.com/board/4?offset=10,比之前的URL多了参数offset,第2页的offset为10,显示的是排名11-20的电影,初步推断offset是一个偏移量的参数。再点击下一页,发现页面的URL变成https://maoyan.com/board/4?offset=20,显示的是21-30的电影。总结出offset是位置偏移量,如果偏移量为n,则显示的电影序号为n+1-n+10,每页显示10个。所以如果想获取TOP100电影,则offset的值分别为0,10,20,…,90,分别遍历每页,提取出相关数据,就可以获取TOP100的电影信息。
4.抓取首页
首先抓取第一页的内容,实现get_one_page()方法,并传入url参数,将首页内容返回。初步代码实现如下:
import requests
from requests.exceptions import RequestException
def get_one_page(url):
try: