使用Scrapy Spider在本网站的输入框中自动输入邮政编码值“27517”的正确方法:Locations of Junkyards是否可以使用表格申请? 这就是我现在所拥有的:
import scrapy
from scrapy.http import FormRequest
from scrapy.item import Item, Field
from scrapy.http import FormRequest
from scrapy.spider import BaseSpider
class LkqSpider(scrapy.Spider):
name = "lkq"
allowed_domains = ["http://www.lkqcorp.com/en-us/locationResults/"]
start_urls = ['http://www.lkqcorp.com/en-us/locationResults/']
def start_requests(self):
return [ FormRequest("http://www.lkqcorp.com/en-us/locationResults/",
formdata={'dnnVariable':'27517'},
callback=self.parse) ]
def parsel(self):
print self.status
运行时它什么都不做,Form Request主要用于完成登录字段?到达THIS页面的最佳方式是什么? (在搜索zip 27517之后出现,我会开始用scrapy蜘蛛抓取我想要的信息)
答案 0 :(得分:1)
这不是FormRequest,因为FormRequests只是scrapy中POST请求的名称,当然它可以帮助您填写表单,但表单通常也是POST请求。
你需要一些调试控制台(我更喜欢Firebug for Firefox)来检查哪些请求正在完成,看起来它是一个GET请求并且复制起来很简单,url就像this那里您必须将/fullcrit/
后的号码更改为所需的邮政编码,但您还需要lat
和lng
个参数,因为您可以使用Google Maps API,请检查{ {3}}有关如何获取它的示例,但总结只需执行this answer并获取location
参数。