Hi,
ich möchte mit dem framework scrapy gerne eine seite mit folge seiten crawln.
Leider funktioniert es nicht.
Kann mir jemand sagen warum?
Leider funktioniert das nicht.HTML-Code:import scrapy from scrapy.contrib.linkextractors import LinkExtractor from scrapy.contrib.spiders import CrawlSpider, Rule from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor from scrapy.spider import Spider from scrapy import Selector from scrapy.selector import HtmlXPathSelector from craigslist_sample.items import CraigslistSampleItem import urlparse from scrapy.http.request import Request class MySpider(Spider): name = "craig" allowed_domains = ["example.de"] start_urls = ["www.example.com"] rules = (Rule (SgmlLinkExtractor(allow=("Seite-\d00", ),restrict_xpaths=('//a',)) , callback="parse", follow= True), ) def parse(self, response): hxs = Selector(response) ne = HtmlXPathSelector(response) next_page = ne.select("//td[@class='pagerNextlink']/a/@href").extract() titles = hxs.xpath('//table[@class="list"]/tr') section = hxs.select('//div[@id="productListFilterContainer"]') items = [] for title in titles: item = CraigslistSampleItem() item ["section"] = section.select('div/h2/text()').extract() item ["preis"] = title.xpath('td/div[@style="margin-bottom:5px;"]/text()').extract() if not item ["preis"]: item ["preis"] = title.xpath('td/div[@style="margin-bottom:5px;color:#F00;"]/text()').extract() item ["title"] = title.xpath("td/a/text()").extract() item ["link"] = title.xpath('td/a/@href').extract() if not item ["preis"]: pass else: items.append(item) return items
es gibt auf der seite einen next button der example.de/Seite-2 aufruft.
die soll er halt auch crawln

Zitieren
