【问题标题】:Post request with scrapy not redirecting properly?使用scrapy发布请求没有正确重定向?
【发布时间】:2017-02-16 19:49:21
【问题描述】:

我正在尝试使用 scrapy 从http://www.bcpa.com 中提取一些数据。我有一些地址,我想从网站中提取与每个地址相关的信息,所以我需要通过这个网址“按地址搜索”http://www.bcpa.net/RecAddr.asp

我尝试使用 8433 作为街道编号,并使用 LAKEVIEW 作为街道名称,该站点将我重定向到此 URL:http://www.bcpa.net/RecInfo.asp?URL_Folio=474128020500,这是我想要的。但是,如您所见,我用于搜索的信息不在结果 url 中。我用检查员检查了页面,我得到了这样的信息:

所以,我使用scrapy做了一个发布请求,并传递如下参数:

>>> from scrapy.http import FormRequest
>>> form_data = {"Situs_Street_Number":"8433", "Situs_Street_Name":"LAKEVIEW"}
>>> url = "http://www.bcpa.net/RecSearch.asp"
>>> r = FormRequest(url, method = "POST", formdata = form_data)
>>> fetch(r)
2017-02-16 08:22:38 [scrapy.core.engine] INFO: Spider opened
2017-02-16 08:22:40 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://www.bcpa.net/robots.txt> (referer: None)
2017-02-16 08:22:41 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET http://www.bcpa.net/RecMenu.asp> from <POST http://www.bcpa.net/RecSearch.asp>
2017-02-16 08:22:41 [scrapy.core.engine] DEBUG: Crawled (200) <GET http://www.bcpa.net/RecMenu.asp> (referer: None)
>>> 

如您所见,它不起作用,该站点将我重定向到原始页面。我不知道为什么。有什么想法吗?

【问题讨论】:

    标签: python python-3.x scrapy scrapy-shell


    【解决方案1】:

    在你的图片中你看到Request Headers了吗?

    您必须与您的 POST 请求一起发送相同的标头,它应该可以工作。

    【讨论】:

      猜你喜欢
      • 2019-06-08
      • 1970-01-01
      • 2023-04-03
      • 2021-06-08
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多