web-scraping - Scrapy:从使用 "id"选择器而不是 "class"的 html 标签中提取数据

标签 web-scraping scrapy

我是网络抓取和 Scrapy 的新手。我希望你能帮助我。

我正在尝试从使用标签的网页中提取数据。通常,如果 span 标签使用一个类,例如:

<span class="class_A>Hello, World!</span>

我将使用以下代码来检索文本。
request.css('span.class_A::text').extract()

但是,例如,当 html 现在使用“id”而不是“class”时,
<span id="id_A>Hello, Universe!</span>

下面的代码不再起作用。
request.css('span.id_A::text').extract()

请帮忙!使用“id”提取数据的正确方法是什么。

感谢您的帮助!

最佳答案

这是一种方式。

>>> HTML = '''
... <span id="id_A">Hello, Earth</span>
... <span id="id_B">Hello, Universe</span>
... '''
>>> from scrapy.selector import Selector
>>> selector = Selector(text=HTML)
>>> selector.css('[id="id_A"]::text').extract()
['Hello, Earth']

或者,
>>> HTML = '''
... <span id="id_A">Hello, Earth</span>
... <span id="id_B">Hello, Universe</span>
... '''
>>> from scrapy.selector import Selector
>>> selector = Selector(text=HTML)
>>> selector.css('span#id_A::text').extract()
['Hello, Earth']

Scrapy 用途 cssselect以下是 W3 Selectors Level 3

关于web-scraping - Scrapy:从使用 "id"选择器而不是 "class"的 html 标签中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45313128/

相关文章:

python - Scrapy 的最佳性能

r - 如何从 DataCamp 导出数据?

excel - 使用 VBA 抓取两个城市之间的距离

python - 如何循环遍历 HTML 并返回 id 值

python-3.x - Scrapy - 从多个页面中提取数据

python - 使用 python 解释器安装 pip

python - 登录 Scrapy

python - Scrapy:不要抓取其他域页面上的链接

python - Scrapy django模型导入错误

python - Selenium python - 元素在点不可点击