0
私はScrapyで新聞の記事を掻き集めることを練習しています。私はウェブページからテキストをサブストリング化する際にいくつか問題があります。組み込まれたre
とre_first
関数を使用して検索を開始する場所を設定できますが、設定方法がわかりませんどこで終了するか。Scrapyの正規表現の使用
import scrapy
from spider.items import Articles
from scrapy.selector import Selector
from scrapy.http import HtmlResponse
class QuotesSpider(scrapy.Spider):
name = "lastampa"
allowed_domains = ['lastampa.it']
def start_requests(self):
urls = [
'http://www.lastampa.it/2017/10/26/economia/lavoro/datalogic-cerca-laureati-e-laureandi-per-la-ricerca-e-sviluppo-rPsS8gVM5ZX7gEZcugklwJ/pagina.html'
]
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
items = []
item = Articles()
item['date'] = response.xpath('//div[contains(@class, "ls-articoloDataPubblicazione")]').re_first(r'content=\s*(.*)')
item['author'] = response.xpath('//div[contains(@class, "ls-articoloAutore")]').re_first(r'">\s*(.*)')
item['title'] = response.xpath('//div[contains(@class, "ls-articoloTitolo")]').re_first(r'<h3>\s*(.*)')
item['subtitle'] = response.xpath('//div[contains(@class, "ls-articoloCatenaccio")]').re_first(r'">\s*(.*)')
item['text'] = response.xpath('//div[contains(@class, "ls-articoloTesto")]').re_first(r'<p>\s*(.*)')
items.append(item)
さて、このコードで、私はパスの終わりまでに必要なテキストだけでなく、すべての次のタグを取得することができます:ここで は、コードの後に続きます。例:
'subtitle': 'Gli inserimenti saranno in Italia, Stati Uniti, Cina, Vietnam</div>'
どのように私は(定義されたポイントの後またはその他の文字)終了</div>
を逃れることができますか? 誰かがこれに対してライトをオンにすることはできますか?ありがとう
:生成されます
:しかし、あなたはこのような1つの文字列としての後処理それと店舗、そこからそれを抽出することができます!おかあさんトーマス – Fulviooo