无法抓取带有样式组件 javascript 的网站
Unable to scrape a website with styled-component javascript
我的目标
使用 Scrapy 框架从这个 page 中获取基本信息,但问题并不特定于此框架。我们以 h1
节点中的 p
元素为例。
问题
我从 Scrapy 请求中得到的响应所做的所有选择都无法 return h1
节点中的内容。
scrapy shell 'url'
response
>>> 200
response.xpath('//h1/p')
>>> []
正在获取响应:
获取响应时,我看到一个我无法真正理解的结构,所有主要 html 标记都被压缩并放置在一堆 javascript 样式组件之后。 file is here (ligne 1725).
我的过程
正在通过开发工具测试选择器:
从开发工具中禁用 Javascript 并测试我的选择器后,我得到了想要的结果。例如,我通过控制台中的一个简单查询 //h1/p
获得了 <h1>
中的 <p>
元素。
用 scrapy 测试选择器 shell:
无法正常工作,请参阅问题
使用启动测试选择器:
我得到的结果与问题中显示的完全相同。
我无法解释这个错误,但我希望能为您的问题提供答案
response.xpath('//*[@class="summary__StyledAddress-e4c4ok-6 zWwUF textIntent-title1"]/text()').get()
returns : '12-14 31st Avenue, Unit 2 '
希望您需要哪个?
P 博士
我的目标
使用 Scrapy 框架从这个 page 中获取基本信息,但问题并不特定于此框架。我们以 h1
节点中的 p
元素为例。
问题
我从 Scrapy 请求中得到的响应所做的所有选择都无法 return h1
节点中的内容。
scrapy shell 'url'
response
>>> 200
response.xpath('//h1/p')
>>> []
正在获取响应:
获取响应时,我看到一个我无法真正理解的结构,所有主要 html 标记都被压缩并放置在一堆 javascript 样式组件之后。 file is here (ligne 1725).
我的过程
正在通过开发工具测试选择器:从开发工具中禁用 Javascript 并测试我的选择器后,我得到了想要的结果。例如,我通过控制台中的一个简单查询 //h1/p
获得了 <h1>
中的 <p>
元素。
无法正常工作,请参阅问题
使用启动测试选择器:我得到的结果与问题中显示的完全相同。
我无法解释这个错误,但我希望能为您的问题提供答案
response.xpath('//*[@class="summary__StyledAddress-e4c4ok-6 zWwUF textIntent-title1"]/text()').get()
returns : '12-14 31st Avenue, Unit 2 '
希望您需要哪个?
P 博士