【发布时间】:2015-12-16 12:11:33
【问题描述】:
我已经编写了一个蜘蛛来从网站上删除一些元素,但问题是我无法获取一些元素,而有些元素工作正常。请帮助我朝着正确的方向前进。
这是我的蜘蛛代码:
from scrapy.selector import Selector
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from ScrapyScraper.items import ScrapyscraperItem
class ScrapyscraperSpider(CrawlSpider) :
name = "rs"
allowed_domains = ["mega.pk"]
start_urls = ["http://www.mega.pk/mobiles/"]
rules = (
Rule(SgmlLinkExtractor(allow = ("http://www\.mega\.pk/mobiles_products/[0-9]+\/[a-zA-Z-0-9.]+",)), callback = 'parse_item', follow = True),
)
def parse_item(self, response) :
sel = Selector(response)
item = ScrapyscraperItem()
item['Heading'] = sel.xpath('//*[@id="main1"]/div[1]/div[1]/div/div[2]/div[2]/div/div[1]/h2/span/text()').extract()
item['Content'] = sel.xpath('//*[@id="main1"]/div[1]/div[1]/div/div[2]/div[2]/div/p/text()').extract()
item['Price'] = sel.xpath('//*[@id="main1"]/div[1]/div[1]/div/div[2]/div[2]/div/div[2]/div[1]/div[2]/span/text()').extract()
item['WiFi'] = sel.xpath('//*[@id="laptop_detail"]/tbody/tr/td[contains(. ,"Wireless")]/text()').extract()
return item
现在我可以获取标题、内容和价格,但 Wifi 没有返回任何内容。我完全困惑的一点是,相同的 xpath 在 chrome 而不是在 python(scrapy) 中工作。
【问题讨论】:
标签: python python-2.7 scrapy scrapy-spider