做学术项目需要使用同花顺问财网的搜索引擎爬取新闻资讯。
网站:http://www.iwencai.com/index?tid=news
(爬取的是旧界面,需要登录后切换)
目前已经成功使用requests进行爬取,但是必须隔一段时间手动上浏览器登录然后复制更换cookie,很费时间,并且网站爬到后面好像有访问限制,越爬越慢。
附上请求相关的代码:
api='http://www.iwencai.com/search/
headers=
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', 'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Connection': 'keep-alive',
'Cookie': Cookie,
'Referer': 'http://www.iwencai.com/search/',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'
params=
'allow_redirect': 'false',
'w': keyword,
'tid': 'news',
'tr':'5',
'sdate':sdate,
'edate':edate,
'qid': '91a4a343109fdd76c9267bcc31fdc793',
'sameInfo': '1',
'qid': '91a4a343109fdd76c9267bcc31fdc793',
'p': page_num
response=requests.get(url=url,params=params,headers=headers,allow_redirects=True)
}
cookie有一些是跟随已登录用户的,有一些是不登陆直接访问也能生成的。尝试过使用selenium裸访问获取cookie再换进已有的cookie里但是失败了。
目前状况是能爬但是非常慢,想请教一下各位这个cookie码怎么破,谢谢!!
这不就是同花顺吗,逆向就行,看我主页文章
用代理能够访问吗?
cookie 可以用requets.session 方法保持。这样不但爬虫的速度更快。安全性也有保证。
session = requests.Session()
如有帮助,请点击我评论上方【采纳该答案】按钮支持一下。
你可以看看这个网站的cookie的方法,既然是动态生成cookie的话,那他应该有js脚本来处理cookie,你可以模仿他的cookie生成方法自己生成cookie,这样到时间以后程序自己会生成新的cookie就不用你自己手动了
首先,爬虫处理这些有风险,注意处理方式。
解决方式的参考思路如下:
1.cookie有过期时间,你需要更新
2.对于更新cookie,你可以做自动登录
3.为了避免反爬,你需要代理
4.为了避免反爬,你需要多个账号
仅此,
可能和浏览器的缓存有关,尝试隔一段时间自动清理缓存试试