【发布时间】:2019-02-11 19:16:15
【问题描述】:
在使用 Scrapy 1.6 抓取页面https://github.com/rg3/youtube-dl/pull/11272 时,当我使用选择器进行选择时:
//div[@class= '文件js-comment-container js-resolvable-timeline-thread-container']
如果你在浏览器什么的上使用它,别忘了屏蔽 JS。
结果将是没有属性“extract_first”的东西。
例如运行此代码将面临该错误:
for code_and_comment in response.xpath(
"//div[@class = 'file js-comment-container js-resolvable-timeline-thread-container']"):
if code_and_comment is None:
print('it is NONE')
print(code_and_comment.extract_first())
我看不懂,你知道我哪里错了吗?提前致谢。
-
注意: 是的,我知道 robot.text 甚至
ROBOTSTXT_OBEY = False - 注意 2: 我认为动态 JavaScript 不是问题,我已经在关闭 JavaScript 的浏览器中尝试了 Xpath,效果很好。
【问题讨论】:
-
@vezunchik 不是,这也是我的问题。
-
我找不到类“文件 js-comment-container js-resolvable-timeline-thread-container”,但只有类“文件 js-comment-container js-resolvable-timeline-thread -container has-inline-notes”。您是否忘记在您的问题中提及“has-inline-notes”或忘记将其放在您的代码中?
-
@daniboy000 不,我认为您正在使用 JavaScript。 Scrapy 不适用于 JS。当你看到 JS 被屏蔽的页面时,我想你会找到它。
标签: python xpath scrapy web-crawler