好的,所以我要把这个编辑完整。我已经使脚本部分工作,我可以启动它没有任何问题,这是脚本。粘贴链接在这里:http://pastebin.com/SKa5Wh1h,您可以在命令行中看到我得到的内容。我确信正在搜索的关键字在这些链接中,因为我也尝试过其他单词,但它没有下载它们。在
import scrapy
import requests
from scrapy.http import Request
import scrapy
from FinalSpider.items import Page # Defined in items.py
URL = "http://url.com=%d"
starting_number = 60000
number_of_pages = 100
class FinalSpider(scrapy.Spider):
name = "FinalSpider"
allowed_domains = ['url.com']
start_urls = [URL % starting_number]
def __init__(self):
self.page_number = starting_number
def start_request(self):
# generate page IDs from 1000 down to 501
for i in range (self.page_number, number_of_pages, -1):
yield Request(url = URL % i, callback=self.parse)
def parse(self, response):
for link in response.xpath('//a[text()="Amount"]/@href').extract():
yield Page(url=link)
你问了两件事
您提供的xpath是无效的xpath表达式。在
如果您想在文本中找到一个
a
标记,比如<a href="something"> 100.00 </a>
,那么正确的xpath应该是'//a[contains(text(), "100.00")]'
。注意contains
的用法,如果有精确的文本,可以使用'//a[text() == "100.00"]'
。在在Scrapy中,通常创建一个
Item
类,该类将保存您已废弃的数据,该类由您定义的Field
进行逻辑结构。在因此,首先,创建一个}一个该
Item
子类,其中有一个url
Field
,在spider中,return
或{Item
的新实例,字段url
设置为页面中找到的值。在把这些放在一起
您必须创建一个
Item
,如图here:然后,在spider中从
^{pr2}$response
对象提取所有有意义的数据。看看例子here来获得一种感觉。但一般来说你的代码是相关问题 更多 >
编程相关推荐