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

时间:2013-12-14 01:06:31

标签: javascript python mechanize googlebot

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

Google Bot和其他主要搜索引擎蜘蛛/机器人如何做到这一点,还有另一种工具可以在这种情况下补充mechanize吗?

我知道我可以对javascript进行逆向工程来弄清楚它在做什么以及它们模仿它,但我想自动化爬行,所以如果我首先必须梳理每个网站的javascript,那就不实用了。

1 个答案:

答案 0 :(得分:3)

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

  • 只想自动关注页面中的所有链接?
    这很简单。获取页面时,解析它并获取所有href标记中的<a>值,然后发出这些新网址的请求。
    如果您不想对其进行硬编码,scrapy CrawlSpider 将自动完成工作。使用requestslxml来完成这项工作也很容易 这是一个需要解决的简单问题。
  • 想要解析javascript语句吗?
    这是一个很大的问题,但有一些很好的工具可供使用,例如PhantomJSsimilar qtwebkit selenium
    我不知道谷歌如何处理这个问题,但另一种先进的方法是修改Chromium或Firefox的核心。它有点难,但可以在很大程度上提高蜘蛛的效率。
  • 您实施此类蜘蛛的目的是什么?
    抓取网页来搜索Google这样的搜索引擎?抓取一些文章,书籍或视频供个人使用?当你知道你想用蜘蛛做什么,那么你知道如何实现它。

抓取网站时存在一些问题,它可能会帮助您实施强大的蜘蛛。 Here它是。