Я следил за учебником на странице scrapy, и я попытался просто отредактировать код для практики в википедии. Когда я это делаю, он выводит текст на странице, но он делает это сотни раз. Файл JSON, а также консоль содержат одно и то же произведение, напечатанное снова и снова. Я думаю, что это может быть связано с функцией? Кроме того, в чем разница между sel.xpath и site.xpath?Scrapy выдает то же самое сотни раз
Спасибо!
Вот код:
from scrapy.spider import Spider
from scrapy.selector import Selector
from tutorial.items import DmozItem
class DmozSpider(Spider):
name = "dmoz"
allowed_domains = ["wikipedia.com"]
start_urls = [
"http://en.wikipedia.org/wiki/Caesar_Hull"
]
def parse(self, response):
sel = Selector(response)
sites = sel.xpath('//div')
items =[]
for site in sites:
item = DmozItem()
item['title'] = sel.xpath('.//p/text()').extract()
items.append(item)
return items
Я вижу, спасибо, вы видите, почему код будет печатать то же самое, много раз? – user3261706
обновлено, дайте мне знать, если это имеет смысл –
Думаю, я понимаю, о чем вы говорите, но я не уверен. Прости, что я новичок в этом. Я изменил // div на .//p, но он все равно дает мне повторные результаты. Можете ли вы указать, какая часть кода должна быть изменена? – user3261706