【发布时间】:2021-09-18 18:25:24
【问题描述】:
我正在抓取h1 标签的HTML。 selector 仅针对 h1 标签,但是当我打印它时,它还会打印一个不必要的带有 h1 标签的 HTML。
import requests
from scrapy.selector import Selector
r = requests.get('https://www.catholicgallery.org/mass-reading/310122/')
resp = Selector(text=r.text)
h1 = resp.xpath('//h1[@class="tdb-title-text"]').get()
print(h1)
【问题讨论】:
-
如果你已经安装了 Scrapy。你能在你的python环境中发布
scrapy version -v命令的输出吗? -
我有 Scrapy : 2.4.1
-
这还不够。我的意思是 - 来自指定命令
scrapy version -v的完整日志输出。它应该包括所有相关库的版本:lxml、提到的 libxml2、cssselect 等。 -
这里是完整列表 Scrapy:2.4.1 lxml:4.6.3.0 libxml2:2.9.12 cssselect:1.1.0 parsel:1.5.2 w3lib:1.21.0 Twisted:21.2.0 Python: 3.8.11(默认,2021 年 8 月 6 日,09:57:55)[MSC v.1916 64 位(AMD64)] pyOpenSSL:20.0.1(OpenSSL 1.1.1l 2021 年 8 月 24 日)密码学:3.4.7 平台:Windows- 10-10.0.19043-SP0
-
好的。你有
libxml2 : 2.9.12我知道至少在一种情况下将此库降级到版本2.9.10- 解决了这个问题github.com/scrapy/parsel/issues/228#issuecomment-913465379
标签: python web-scraping python-requests scrapy