私はscrapyフレームワークを使用していますが、分析されたWebページから他のデータを読み込むことはできません。あなたはそれについて何ができるか教えてください、ありがとう。もう1つのビュータグへのxpathで参照されているように
import scrapy
from scrapy.spiders import CrawlSpider,Rule
from scrapy.linkextractors import LinkExtractor
from prueba1.items import Prueba1Item
from scrapy.exceptions import CloseSpider
class PruebaSpider(CrawlSpider):
name = 'prueba1'
item_count = 0
allowed_domain = ['http://www.abc.com.py/']
start_urls = ['http://www.abc.com.py/buscar/?buscar=Santiago+Pe%C3%B1a'
'http://www.abc.com.py/buscar/?buscar=Santi+Pe%C3%B1a',
'http://www.abc.com.py/buscar/?buscar=santiago+pe%C3%B1a',
'http://www.abc.com.py/buscar/?buscar=santi+pe%C3%B1a']
rules = {
Rule(LinkExtractor(allow =(),canonicalize = True, unique =
True,restrict_xpaths=('//html/body/div/a[@id="load-more"]'))),
Rule(LinkExtractor(allow =(),canonicalize = True, unique =
True,restrict_xpaths=('//div[@class="article"]')),
callback = 'parse_item', follow=True)
}
def parse_item(self, response):
ml_item=Prueba1Item()
ml_item['article'] = response.xpath('normalize-space(//h1)').extract()
ml_item['fecha'] = response.xpath('normalize-
space(//small)').extract()
ml_item['contenido'] = response.xpath('normalize-
space(//p[@class="summary"])').extract()
ml_item['contenido2'] = response.xpath('normalize-
space(//div[@class="text"])').extract()
ml_item['url'] = response.xpath('normalize-
space(//link/@href)').extract()
ml_item['comentarioFacebook'] = response.xpath('normalize-
space(//div[@class="_30o4"]/span/span[@class="_5mdd"])').extract()
self .item_count += 1
if self.item_count > 50:
raise CloseSpider('item_exceeded')
yield ml_item
私は4000の以上の結果を持っていますが、私はこのコードで50以上を持って来ることができない、検索結果によります。
が貢献いただき、誠にありがとうございます、私はあなたが歓迎されている –
それを証明しようと思って、答えを受け入れることを検討してください。 – luiyezheng