在网页http://www.wiseco.com/ProductSearch.aspx中, 我正在尝试调用下拉菜单选择结果, 而且我在发布请求中找不到两个标头的值:
ctl00$ContentPlaceHolder$btnSearch.x: 153
ctl00$ContentPlaceHolder$btnSearch.y: 9
这些是什么?我在HTML代码中找不到这些值。
更新:
import scrapy
class WisecoSpider(scrapy.Spider):
name = 'wiseco'
search_url ='http://www.wiseco.com/ProductSearch.aspx'
allowed_domains = ["wiseco.com"]
start_urls = [
'http://www.wiseco.com/ProductSearch.aspx'
]
def parse(self, response):
make_url ='http://www.wiseco.com/ProductSearch.aspx'
data = {
'__EVENTTARGET:' : '',
'__EVENTARGUMENT': '',
'__LASTFOCUS': '',
'__VIEWSTATE' : response.css('input#__VIEWSTATE::attr(value)').extract_first(),
'__VIEWSTATEGENERATOR': response.css('input#__VIEWSTATEGENERATOR::attr(value)').extract_first(),
'__EVENTVALIDATION' : response.css('input#__EVENTVALIDATION::attr(value)').extract_first(),
'ctl00$ContentPlaceHolder$ddlModelYear': '2016',
'ctl00$ContentPlaceHolder$ddlBusSegList': '3',
'ctl00$ContentPlaceHolder$ddlMakeList': '1',
'ctl00$ContentPlaceHolder$ddlMakeList': '5866',
'ctl00$ContentPlaceHolder$btnSearch.x': '114',
'ctl00$ContentPlaceHolder$btnSearch.y': '6',
}
yield scrapy.FormRequest(url = make_url, formdata=data, callback=self.parse_make)
def parse_make(self, response):
print(response.text)
不获取数据,仅显示错误页面:
<tr><td style="padding-top:5px;padding-left:20px;padding-right:20px;" class="bodytext">
<H4>An Error Has Occurred...</H4>
我在做什么错了?
答案 0 :(得分:0)
这是“搜索”按钮上的光标坐标。根据我的经验,您可以使用所需的任何值。
更新
您需要为每个下拉更改发送单独 POST请求:首先选择Year,发送请求,对其进行解析并获取ctl00$ContentPlaceHolder$ddlModelYear
等的值。