以类似于谷歌机器人的方式抓取网站html和javascript

Crawling a sites html and javascript in a similar fashion to Google bot

本文关键字:网站 html javascript 抓取 方式 类似于 谷歌 机器人      更新时间:2023-09-26

我试图通过跟踪所有内部链接自动抓取给定的网站,为此我一直在玩Python mechanize库,尽管这不允许我使用javascript和ajax内容。

谷歌机器人和其他主要搜索引擎蜘蛛/机器人是如何做到这一点的,在这种情况下,是否有其他工具可以补充mechanize

我知道我可以对javascript进行逆向工程,以确定它的作用,他们也会模仿它,但我想自动化抓取,所以如果我首先必须梳理每个站点的javascript,这将是不现实的。

要实现这样一个蜘蛛,在实现它之前需要解决一些问题:

  • 只想自动关注页面中的所有链接吗
    这很容易。当您获取一个页面时,解析它并在所有<a>标记中获得href值,然后发出这些新URL的请求
    如果你不想硬编码,scratchy的CrawlSpider会自动完成这项工作。使用请求和lxml也很容易完成这项工作
    这是一个很容易解决的问题
  • 想要解析javascript语句吗
    这是一个大问题,但有一些好的工具可以使用,例如PhantomJS和类似的工具,qtwebkitselenium
    我不知道谷歌是如何处理这些问题的,但另一种高级方法是修改Chromium或Firefox的核心。这有点难,但可能会在很大程度上提高蜘蛛的效率
  • 实现这样一个spider的目的是什么
    抓取页面来做像谷歌这样的搜索引擎?抓取一些文章、书籍或视频供个人使用?当你知道你想用蜘蛛做什么时,你就知道如何实现它

在对网站进行爬网时会出现一些问题,这可能会帮助您实现一个健壮的spider。在这里。