数据显示不正确
data does not appear correctly
我在使用 scrapy spider 显示 phone 数字时受到限制,这应该显示 phone 数字,但它不起作用,似乎我必须点击“点击调用”以显示号码,但是当我添加 css class 时显示 phone 号码但它不起作用
'Call': products.css('span.hz-pro-search-result__contact-info__cover::text').get(),
scrapy 蜘蛛只打印“点击通话”
它应该显示 phone 数字
import scrapy
class houzzSpider(scrapy.Spider):
name = 'houzz'
start_urls = ['https://www.houzz.com/professionals/interior-designer']
def parse(self, response):
for products in response.css('div.hz-pro-search-result'):
try:
yield {
# 'Name': products.css('a').find('span.header-5.text-unbold.mlm::text').get(),
'Call': products.css('span.hz-pro-search-result__contact-info__cover::text').get(),
}
except:
yield {
'Call': products.css('span.hz-pro-search-result__contact-info__cover::text').get(),
}
next_page = response.css('a.hz-pagination-link.hz-pagination-link--next').attrib['href']
if next_page is not None:
yield response.follow(next_page, callback=self.parse)
当使用“点击通话”link 时,您尝试抓取的数据是使用 javascript 填写的。
它在页面源中包含的巨大 (450kB) json blob 中可用:
<script id="hz-ctx" type="application/json">...</script>
如果您使用 json
库加载此数据并找出所需数据的路径,您应该能够毫无问题地提取它。
我在使用 scrapy spider 显示 phone 数字时受到限制,这应该显示 phone 数字,但它不起作用,似乎我必须点击“点击调用”以显示号码,但是当我添加 css class 时显示 phone 号码但它不起作用 'Call': products.css('span.hz-pro-search-result__contact-info__cover::text').get(),
scrapy 蜘蛛只打印“点击通话” 它应该显示 phone 数字
import scrapy
class houzzSpider(scrapy.Spider):
name = 'houzz'
start_urls = ['https://www.houzz.com/professionals/interior-designer']
def parse(self, response):
for products in response.css('div.hz-pro-search-result'):
try:
yield {
# 'Name': products.css('a').find('span.header-5.text-unbold.mlm::text').get(),
'Call': products.css('span.hz-pro-search-result__contact-info__cover::text').get(),
}
except:
yield {
'Call': products.css('span.hz-pro-search-result__contact-info__cover::text').get(),
}
next_page = response.css('a.hz-pagination-link.hz-pagination-link--next').attrib['href']
if next_page is not None:
yield response.follow(next_page, callback=self.parse)
当使用“点击通话”link 时,您尝试抓取的数据是使用 javascript 填写的。
它在页面源中包含的巨大 (450kB) json blob 中可用:
<script id="hz-ctx" type="application/json">...</script>
如果您使用 json
库加载此数据并找出所需数据的路径,您应该能够毫无问题地提取它。