Python Scrapy需要使用cookie的网站
我正在制作scrapy用于抓取一个网站,但是这个网站正在使用cookies,我不知道如何使用cookies制作用于抓取网站数据的说明Python Scrapy需要使用cookie的网站,python,cookies,xpath,web-scraping,scrapy,Python,Cookies,Xpath,Web Scraping,Scrapy,我正在制作scrapy用于抓取一个网站,但是这个网站正在使用cookies,我不知道如何使用cookies制作用于抓取网站数据的说明 class DmozSpider(Spider): name = "dmoz" allowed_domains = ["dmoz.org"] start_urls = [ "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/" ]
class DmozSpider(Spider):
name = "dmoz"
allowed_domains = ["dmoz.org"]
start_urls = [
"http://www.dmoz.org/Computers/Programming/Languages/Python/Books/"
]
def parse(self, response):
sel = Selector(response)
sites = sel.HtmlXPathSelector('//ul[@class="directory-url"]/li')
items = []
for site in sites:
item = Website()
item['name'] = site.xpath('a/text()').extract()
item['url'] = site.xpath('a/@href').extract()
items.append(item)
return items
如何将Cookie正确添加到此url您可以这样添加Cookie
request_with_cookies = Request(url="http://www.example.com",
cookies={'currency': 'USD', 'country': 'UY'})
要扩展@omair\u 77的答案,您可以覆盖爬行器的
启动请求
方法,将cookie添加到爬行器的初始请求中:
def start_requests(self):
return [Request(url="http://www.example.com",
cookies={'currency': 'USD', 'country': 'UY'})]
这样,爬行器将发出的第一个请求就是那些cookie,对parse
方法的第一个调用就是响应
谢谢,我尝试了这一点,但我无法使用\u Cookie迭代此请求。请详细说明,您所说的迭代是什么意思?使用此请求\u wit \u Cookie,我无法在使用xpath获取数据后获取项目