Python Scrapy:爬行蜘蛛不生成给定链接中的所有链接和数据
我无法删除下面URL中的数据。我试着放弃它,但在我的机器上它显示了一些不相关的数据 URL 1: 网址2: 编码: 第1行:hxs.select('//h3[@class=“newaps”]/span/text()).extract() 第2行:hxs.select('//h3[@class=“newaps”]/a/@href').extract() 预期产出: 对于URL 1和第1行 三星RF4289HARS 三星加热元件DC47-00019A 三星WIS12ABGNX无线局域网适配器 三星SMH1816S 1.8铜。Ft.不锈钢超量程微波炉 三星RF4287 28立方英尺法式门冰箱,4门,集成水和冰,真正的不锈钢 . . . 等等 我需要上面的第2行代码,然后我还需要URL 2 查看我的代码Python Scrapy:爬行蜘蛛不生成给定链接中的所有链接和数据,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,我无法删除下面URL中的数据。我试着放弃它,但在我的机器上它显示了一些不相关的数据 URL 1: 网址2: 编码: 第1行:hxs.select('//h3[@class=“newaps”]/span/text()).extract() 第2行:hxs.select('//h3[@class=“newaps”]/a/@href').extract() 预期产出: 对于URL 1和第1行 三星RF4289HARS 三星加热元件DC47-00019A 三星WIS12ABGNX无线局域网适配器 三星S
From scrapy.spider import BaseSpider
from scrapy.http import Request
from urlparse import urljoin
from scrapy.selector import HtmlXPathSelector
import inspect
from amazon.items import AmazonItem
class amzspider(BaseSpider):
name="amz"
start_urls=["http://www.amazon.com/s/ref=sr_pg_2?rh=i%3Aaps%2Ck%3Asamsung+appliances&page=2&keywords=samsung+appliances&ie=UTF8&qid=1386153209"]
print start_urls
def parse(self,response):
hxs = HtmlXPathSelector(response)
ul=hxs.select('//div/ul[@class="rsltGridList grey"]').extract()
l=len(hxs.select('//h3[@class="newaps"]/a/@href').extract())
x=[]
x1=[]
url1=[]
for i in range(l):
x1.append(hxs.select('//h3[@class="newaps"]/a/@href').extract()[i].encode('utf-8').strip())
print "URl parsed"
for i in range(l):
url1.append(urljoin(response.url, x1[i]))
for i in range(l):
if url1[i]:
yield Request(url1[i], callback=self.parse_sub)
r=hxs.select('//a[@id="pagnNextLink"]/@href').extract()[0].encode('utf-8')
if r:
yield Request(urljoin(response.url, r), callback=self.parse)
def parse_sub(self,response):
print " sub callled"
itm=[]
# item = response.meta.get('item')
item=AmazonItem()
hxs = HtmlXPathSelector(response)
我用Scrapy shell检查数据我更新了我的问题,你明白吗。如果是,请检查代码我使用的是HTML xpath选择器我没有使用规则。实际上我需要获取URL 1和2中的每个产品URL(我是指子URL)。为此,我使用了下面的代码,但我在屏幕上显示了一些不相关的数据hxs.select('//h3[@class=“newaps”]/a/@href').extract()[i].encode('utf-8').strip()>