美文网首页
Python Webscraping

Python Webscraping

作者: sleepyjoker | 来源:发表于2016-12-17 22:30 被阅读31次

    Python作为强大的脚本语言,非常适合编写网络爬虫。
    在实际开始编写爬虫获取某一个网站数据的时候,应当对某一个网站有着充分的了解,方便后续程序的编写。

    • 通过Google大致了解网站的大小
      Google作为强大的搜索工具,本质上也是一个爬虫。通过在网址前添加site关键字,可以先利用Google来大致了解网站的大小,并且支持/来过滤结果。不过这种这种方法只能用来大致估算,并且对于一些大型网站,这种估算不是很准确。

    • site:www.zhihu.com/topic

      site:www.zhihu.com/topic
    • 通过robots.txt文件了解网站
      目前虽然对于爬虫还没有一个正式的法规或协议来约束,但是大多数网站都会有一个robots.txt文件。文件中包含了一些建议,但并不会强制执行,它可以让我们以最快速度的了解到网站对于爬虫的限制,从而将来降低爬虫被封禁的风险。

    www.zhihu.com/robots.txt

    (知乎的robot.txt真是简单粗暴。。)
    User-agent定义了使用的用户代理,*表示对于所有的用户代理;
    Crawl-delay规定了两次抓取间的延时应为10s;
    Disallow表示不允许爬取的页面。

    • 识别建站技术
      一个网站如何构建将对我们的爬取方式产生影响,我们可以使用Python的builtwith模块来帮助我们完成这一任务。可以通过pip install builtwith命令很方便的安装这一模块。
      以网站的URL作为参数来进行解析。
      import builtwith
      print builtwith.parse("http://bbc.com")

    • 寻找网站的所有者
      因为不同的所有者对于爬虫的态度不尽相同,所以提前了解一个网站的所有者也是很有必要的。Python中提供了whois模块来完成这一任务。可以通过pip install python-whois命令来很方便的安装这一模块。

    whois

    可以看到域名归属于godaddy。

    相关文章

      网友评论

          本文标题:Python Webscraping

          本文链接:https://www.haomeiwen.com/subject/tdlamttx.html