Ich habe HTML-Elemente, die wie folgt aussehen:Wie gruppiere ich XPath?
Ich mag würde h1
, gruppieren div.article-meta
und div.article-content
, so kann ich seine Daten Zeile für Zeile auf meinem Scrapy Projekt Schleife schreiben.
Ich denke darüber nach, jede von ihnen in eine Var zu gruppieren, dann loop diese Var, ich bin mir nicht sicher, wie es geht.
Bitte vorschlagen. Danke,
Bisher habe ich versucht, dies:
def parse(self, response):
now = time.strftime('%Y-%m-%d %H:%M:%S')
hxs = scrapy.Selector(response)
titles = hxs.xpath('//div[@class="list-article"]/h1')
images = hxs.xpath('//div[@class="list-article"]/feature-image')
contents = hxs.xpath('//div[@class="list-article"]/article-content')
for i, title in titles:
item = DapnewsItem()
item['categoryId'] = '1'
name = titles[i].xpath('a/text()')
if not name:
print('DAP => [' + now + '] No title')
else:
item['name'] = name.extract()[0]
description = contents[i].xpath('p/text()')
if not description:
print('DAP => [' + now + '] No description')
else:
item['description'] = description[1].extract()
url = titles[i].xpath("a/@href")
if not url:
print('DAP => [' + now + '] No url')
else:
item['url'] = url.extract()[0]
imageUrl = images[i].xpath('img/@src')
if not imageUrl:
print('DAP => [' + now + '] No imageUrl')
else:
item['imageUrl'] = imageUrl.extract()[0]
yield item
Dies ist die Fehler, die ich bekomme.
dort Hallo, ich habe meine Antwort für Sofar – Vicheanak