豆瓣电影爬虫详解
有没有过周末为看什么电影焦虑,今天手把手教学爬取豆瓣电影评分,网站地址,上一篇文章说到会话保持最后没有做解释,在这里说一下。
0,当我们打开一个网站的时候这个时候网站给到我们一个cookies,这个cokkies可能是多个参数或一个参数,然后我们再浏览其他的页面的时候网站会校验cookies等信息确认是不是还是一个同一个用户再访问。那么再说模拟登录的时候我们获取到验证码怎么让他再登录的时候也认为是我们就是拿验证码的人呢,就用到会话保持,但是又一些公司为了方式爬虫会禁止sess传递cookies。那么怎么搞了。这里留个彩蛋大家自己研究研究之后有了好案例我再更。
1,话不多说开始今天爬虫之旅
2,先来分析一下网站结构
2.1,通过检查可见在首页接口中我们看不到热门电影,盲猜数据是通过json传输的,进到更多里面直接找到他的一个目录页
2.2,到目录页选择按热度排序,可见数据接口,,然后翻个页看看翻页接口变化
翻页之后可见start参数发生变化,那就是了。读过之前文章的朋友应该想到下一步干啥了
3.0,直接对接口发起请求看一下json数据取值,
headers = {
"Accept": "application/json, text/plain, */*",
"Accept-Language": "zh-CN,zh;q=0.9",
"Cache-Control": "no-cache",
"Connection": "keep-alive",
"Origin": "https://movie.douban.com",
"Pragma": "no-cache",
"Referer": "https://movie.douban.com/explore",
"Sec-Fetch-Dest": "empty",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Site": "same-site",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36",
"sec-ch-ua": "" Not A;Brand";v="99", "Chromium";v="100", "Google Chrome";v="100"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": ""Windows""
}
cookies = {
"ll": ""108288"",
"bid": "5JjiG1qD2ik",
"ap_v": "0,6.0"
}
url = "https://m.douban.com/rexxar/api/v2/movie/recommend"
params = {
"refresh": "0",
"start": "40",
"count": "20",
"selected_categories": "{}",
"uncollect": "false",
"sort": "T",
"tags": ""
}
response = requests.get(url, headers=headers, cookies=cookies, params=params).json()['items']
for res in response:
title = res['title']
print(title)
ok,这要去什么信息就自行处理把,下课。
转载自:https://juejin.cn/post/7222115117432700965