我正在尝试抓取此网站:http://jadopado.com/
首先我想改变货币,所以我尝试了这个:
yield FormRequest.from_response(response,formdata={'cms_handler_name': 'jpintl%3Aon_setUserPreference',
'country_code': 'AE'},
dont_click=True,
callback=self.parse_all_categories)
它不起作用,我得到的回应是美元作为货币。 我甚至尝试使用邮递员这样做,但它不起作用 任何帮助?当您从网站的上方栏中更改货币时,您可以检查http请求。
答案 0 :(得分:4)
如果您只是设置相应的Cookie customer_country_code
,如下所示:
from scrapy.http import Request
from scrapy.selector import HtmlXPathSelector
from scrapy.spider import BaseSpider
class ExampleSpider(BaseSpider):
name = 'example'
allowed_domains = ['jadopado.com']
def start_requests(self):
yield Request(url='http://jadopado.com/', cookies={'customer_country_code': 'AE'})
def parse(self, response):
hxs = HtmlXPathSelector(response)
print hxs.select("//div[@class='country_code']/text()").extract()[0]
打印:
AED
因此,货币设定成功。
希望有所帮助。