爬虫发出ajax请求,requests能获取正常响应,scrapy发出请求却返回400

发布于 2022-09-07 21:37:40 字数 1332 浏览 23 评论 0

我爬取一个网站,数据是要向服务器发出异步请求加载带,我仿造headers,参数都没有错误,用requests能获取正常响应,当scrapy不行

    def parse_histical_data(self, response):
        html = BeautifulSoup(response.body, 'lxml')
        patterm = re.compile(r'smlId: [0-9]*', re.MULTILINE|re.UNICODE)
        script = html.find('script', text=patterm).text
        smlId_text = patterm.search(script).group()
        smlId = smlId_text.split(' ')[1]
        curr_id = response.meta['pair_id']
        header=html.select('#leftColumn > div.instrumentHeader > h2')[0].string
        st_date = '01/01/2001'
        end_date = '05/07/2050'
        interval_sec = 'Daily'
        sort_col = 'date'
        sort_ord = 'DESC'
        action = 'historical_data'
        data = {'smlID': smlId, 'curr_id': curr_id, 'header': header, 'st_date': st_date, 'end_state': end_date,
                'interval_sec': interval_sec, 'sort_col': sort_col, 'sort_ord': sort_ord, 'action': action}
        head = self.download_headers.copy()
        request = FormRequest(self.his_url, callback=self.parse_histical_data,
                              headers=head, formdata=data)
        yield request
        

请求带网址是'https://www.investing.com/ins...',使用一模一样带headers和data,scrapy返回400

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

罪歌 2022-09-14 21:37:41

一般来说请求头的问题:
注释掉 headers 里面的 Content-Length 这一栏

我做我的改变 2022-09-14 21:37:41

请问楼主解决了吗,遇同样问题,请问咋解决呢

坏尐絯 2022-09-14 21:37:41

请求头有错误

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文