【发布时间】:2021-12-10 19:48:06
【问题描述】:
情况:
我正在尝试使用 scrapy 抓取广告网站。 我可以访问并从与我相关的标签中提取信息,但是,“价格”标签不愿意提供文本。
我尝试过的:
对于价格标签,我尝试了不同的方法,即 css 选择器和 xpath,但没有任何效果。
response.css('span.ma-AdPrice-value.ma-AdPrice-value--default.ma-AdPrice-value--heading--l::text').get()
response.xpath("//span[@class='ma-AdPrice-value ma-AdPrice-value--default ma-AdPrice-value--heading--l']/text()").get()
我在终端中用scrapy shell 尝试了不同的response 调用,包括在较高的标签级别提取数据,但没有成功。
守则:
下面是代码的摘录。标题标签(和其他标签)工作正常,价格标签是这里的问题。
class AdSpider(scrapy.Spider):
name = 'ads'
start_urls = [
'https://www.milanuncios.com/volkswagen-de-segunda-mano/volkswagen-golf-2-0-tdi-184cv-dsg-gtd-bmt-409202986.htm'
]
def parse(self, response):
title = response.css('h1.ma-AdDetail-title.ma-AdDetail-title-size-heading-m::text').get()
price = response.css('span.ma-AdPrice-value.ma-AdPrice-value--default.ma-AdPrice-value--heading--l::text').get()
items['title'] = title
items['price'] = price
yield items
问题: 我没有网络抓取经验,所以网站 html 代码中是否有我没有看到的隐藏功能? 我该如何解决这个问题?
【问题讨论】:
-
您好,如果无法看到您尝试从中收集数据的网页,任何人都无法提供帮助
-
网址在代码上,但我同意最好将其添加出来。
标签: python css web-scraping xpath scrapy