关键字文章采集器(我的爬虫想抓取一个网页上的有些内容,困扰了我一上午)

优采云 发布时间: 2021-10-24 12:03

  关键字文章采集器(我的爬虫想抓取一个网页上的有些内容,困扰了我一上午)

  我今天遇到了一个问题。我的爬虫想爬取网页上的一些内容,使用 Xpath 分析。Xpath可以解析前几个内容,但是最后一个标签的内容却解析不出来,困扰了我一上午。最后,我试图一步一步地解决它。但我不知道为什么?在这种情况下,程序已经执行了,但你不知道为什么它可以正常运行。下图可以完美的描述。

  下面的视频更生动:建议反复观看。

  后来回来考虑关键词,搜索,看到前辈的经验,发现是浏览器的锅。经过测试,当Firefox和Chrome检查时,您看到的代码是浏览器优化的。不是网页的原创源代码。这时候你复制的Xpath就会出错,所以你的Python爬虫什么都解析不了。这个时候你很迷茫。显然前面的Xpath是没有问题的,对应的内容都被抓到了,但是只有这个是抓不到的。

  实际情况如下。浏览器检查的时候,源码会添加tbody标签,但是实际代码没有这个标签,所以复制的Xpath是错误的。

  上图是检查看到的源码和复制的Xpath(F12),但是查看网页源码看到的代码没有tbody。如下图。tr标签是就在table的正下方,根本就没有tbody标签。所以,如果lxml能找到内容,那就是地狱了。

  经过测试,火狐、Chrome、Edge浏览器都会自动添加这个tbody标签,这真是一个巨大的坑。别人站在巨人的肩膀上,我站在巨人挖的坑里,简称“巨坑”。因此,当Xpath无法解析内容时,建议查看源码。

  我之前代码中的Xpath是://*[@id="main-content"]/section/div[3]/div/table/tbody/tr[2]/td[2]/pre/text()

  真正的Xpath其实是: //*[@id="main-content"]/section/div[3]/div/table/tr[2]/td[2]/pre/text()

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线