weixin_57007661 2021-12-25 00:39 采纳率: 50%
浏览 402
已结题

Python 问财网搜索界面新闻爬取

做学术项目需要使用同花顺问财网的搜索引擎爬取新闻资讯。

网站: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码怎么破,谢谢!!

  • 写回答

7条回答 默认 最新

  • 步客 2021-12-29 10:32
    关注
    1. 先用postman 测试headers里面那些内容不是必须的。
    2. 分析那些cookie 是浏览器生成的,那些是服务器返回的。
    3. 去分析js当中浏览器生成cookie的生成代码抠出来,然后用PyExecJS 这个包 执行你抠出来的js,生成cookie,放入到请求当中。
      第三步,需要你有很好js基础,还有js逆向能力,不是一天两天能学会的。
      技术不行就本办法凑,可以用selenium + mitmproxy, 用selenium 控制网页滑动发送请求,然后使用mitmproxy 拦截请求,然后解析入库,但是这样就会占用一个电脑无法工作~
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 1月9日
  • 已采纳回答 1月1日
  • 修改了问题 12月25日
  • 创建了问题 12月25日

悬赏问题

  • ¥20 请问这种量表怎么用spss量化分析(作为中介模型的因变量
  • ¥55 AD844 howland电流源如何驱动大额负载
  • ¥15 C++ /QT 内存权限的判断函数列举
  • ¥15 深度学习GFnet理解问题
  • ¥15 单细胞小提琴堆叠图代码
  • ¥50 升级strust2版本到2.3.15.1后使用ognl3.0.6.jar windows环境中没有问题,但部署到linux环境报错
  • ¥15 vue页面,node封装接口
  • ¥15 求TMS320F280039C工程模板!
  • ¥15 delphi+fastreport实现分组补空打印问题
  • ¥15 使用python把两台mysql数据库服务器数据导出和导入