尝试爬取 Pixiv 中一个作者的全部作品,在详情页抓取到一个 ajax 的数据包,它的 url 在浏览器打开是可以返回所有的数据,但是通过 requests 请求时,只能访问部分数据。
代码如下
拿到的数据如下:
{ error :false, message : , body :{ illusts :{ 56725501 :null, 44981873 :null},...
浏览器请求的数据如下:
{ error :false, message : , body :{ illusts :{ 71282994 :null, 67511354 :null, 64667165 :null, 62930956 :null, 56725501 :null, 54229008 :null, 51870535 :null, 44981873 :null},...
缺失了一部分的作品 id
请问大佬们有什么好的处理办法吗?
你把 requests 请求里加上 headers 试试,如下:
我尝试过了,还是不行,加上headers请求还是不对
我尝试通过 selenium 登陆拿到网站的 cookie 进行模拟登陆,但是拿到的数据还是不对
这个网站要登入才能获取完整的资料
对,这个是的,如果没办法的话只能使用selenium了,我开始的想法是通过selenium登录然后拿到他的cookie用他的cookie通过requests进行模拟登录
selenium还是速度太慢了
一模一样的问题,id 数不完整,反复用 len () 确认发现少了一些,后来听楼上的加 cookie, 把 cookie 怼进请求头 (懒方法) 解决,获得了完整 work_id