• 爬虫背景调研----用python编写网络爬虫(一)


    前言

    在爬取一个网站内容之前,我么最好一下准备,这样会让我们更好的去思考要采取如何的一种方式来对网站的内容进行爬取。
     
    正文

    • 检查robots.txt
    里面详细介绍该网站的哪些数据是可以爬取的,哪些是不可以爬取的。同时检查robots.txt可以最小化怕从被禁封的可能。关于robots.tx协议的更多信息可以参见
    http://robotstxt.org
    • 检查网站地图
    网站提供的Sitemap文件可以帮助爬虫定位网站最新内容,而无需爬取每一个网页,Sitemap链接可以在robots.txt中找到。虽然男男女女sitemap文件提供了一种爬取网站的有效方式,但是经常存在缺失、过期或不完整的问题。想了解更多的信息可以访问以下链接
    http://www.sitemaps.org/protcol.html
    例如访问豆瓣的robots.txt
     
    • 估算网站大小
    估算网站大小的一个简便方法是检查Google爬虫的结果。听过访问一下玩个可以了解到该接口及其他高级搜索参数的用法
    https://www.google.com/advanced_search
     这里我们对网站进行搜索的话,直接搜
    site:xxxx.xxx.xxx
    • 识别网站所有技术
    buildwith模块
    <span data-wiz-span="data-wiz-span" style="font-size: 0.667rem;">builtwith.parse('example.webscraping.com')</span>
     
    然后会返回
    <span data-wiz-span="data-wiz-span" style="font-size: 0.667rem;">{'web-servers': ['Nginx'], 'web-frameworks': ['Web2py', 'Twitter Bootstrap'], 'programming-languages': ['Python'], 'javascript-frameworks': ['jQuery', 'Modernizr', 'jQuery UI']}</span>
     
    这里值得一说的是,builtwith模块是不支持python2.0以上的版本,但是这并不是一个问题,跟着它报错的地方来进行修改后,builwith模块就可以使用了。下面提出要修改的地方
      • except Expection,e错误
    将代码
    <span data-wiz-span="data-wiz-span" style="font-size: 0.667rem;">except Expection , e:</span>
     
    修改为
    <span data-wiz-span="data-wiz-span" style="font-size: 0.667rem;">except Expection as e:</span>
     
      • print 错误
    给每个输出的内容,都添加上括号
      •     TypeError
    在代码
    <span data-wiz-span="data-wiz-span" style="font-size: 0.667rem;">if html is None:
        html = response.read()</span>
     
    后面添加下面一句
    <span data-wiz-span="data-wiz-span" style="font-size: 0.667rem;">html = html.decode('gbk')  #或者 html = html.decde('utf-8')</span>
     
    • 寻找网站所有者
    在我们知道已知网站的所有者会禁封网络爬虫,那么我们最好将下载速度控制的更加保守一些。可以通过一下代码来获取网站的所有者
    import whois
    print (whois.whois('appspot.com'))
     

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





  • 相关阅读:
    两年的日子,我与你一起度过!
    惠普旋转触屏本TouchSmart tm2开箱视频展示
    你必须知道iPad的10件事
    如果Google统治世界[组图]
    Nexus One运行Android 2.1+Sense UI图赏
    不能只刷机 G3玩家展示给手机外壳刷漆
    这两天的状况不好!
    Google Code上10个有意思的项目
    在虚拟机中如何安装Mac OS X Snow Leopard 10.6
    四大浏览器Windows 7平台多项测试对比
  • 原文地址:https://www.cnblogs.com/kangxiaopao/p/7448819.html
Copyright © 2020-2023  润新知