私はこのwebsiteを掻き集めようとしていますが、CSSセレクタがScrapyで動作することを理解するのに苦労しています。CSSセレクタをスクラップで掻き集める方法を試すことができません
CSSのビーイングに:標準のCSSセレクタがどのように見えるhttps://ibb.co/eJeZpb
:だからそこドキュメントからscrapyにこの仕事をするために
.css-truncate-target .message
.js-navigation-open
time-ago
それは次のようになります。この場合
.css-truncate-target .message::text
.js-navigation-open::text
time-ago::text
申し訳ありません私はちょうど標準のCSSセレクタを使用することに慣れています。
コード、それは例を参照する場合に役立ちます。それは場合に役立ちます
import scrapy
class QuotesSpider(scrapy.Spider):
name = "quotes"
start_urls = [
'https://github.com/scrapy-plugins/scrapy-splash',
]
#.css-truncate-target .message
#.js-navigation-open
#time-ago
def parse(self, response):
for quote in response.css('time-ago.quote'):
yield {
'text': quote.css('.js-navigation-open::text').extract_first(),
'author': quote.css('.js-navigation-open::text').extract_first(),
"tags": quote.css('time-ago::text').extract(),
}
# --- run it ---
import scrapy.crawler
c = scrapy.crawler.CrawlerProcess({
'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
'FEED_FORMAT': 'csv',
'FEED_URI': 'quotes.csv'
})
c.crawl(QuotesSpider)
c.start()
私outputです。
ありがとうございました。
私はまた、次のことを試してみましたことを明確にする必要がありますと
'text': quote.css('.js-navigation-open::attr(href)').extract_first(),
'author': quote.css('.css-truncate-target .message::attr(href)').extract_first(),
"tags": quote.css('time-ago::text').extract(),
ブランクCSV:https://pastebin.com/utuZ6u46