问题描述
我正在尝试使用scrapy从提取一些数据。 我有一些地址,我想从网站中提取与每个地址相关的信息,因此我需要通过此URL “按地址搜索”
我尝试使用8433作为街道编号,并使用LAKEVIEW作为街道名称,然后该站点将我重定向到以下URL: ://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)
>>>
如您所见,它没有用,该网站将我重定向到原始页面。 我不知道为什么 任何想法?
1楼
在您的图片中,您看到“ Request Headers
吗?
您必须与POST请求一起发送相同的标头,并且它应该起作用。