爬虫-相关库整理

请求库

实现http请求操作

  • requests
    阻塞式http请求库,发出一个请求,一直等待服务器响应后,程序才能进行下一步处理
  • selenium
    自动化测试工具,可以利用它驱动浏览器执行特地的动作,如点击,下拉,特别对于一些js渲染的页面,这种抓取十分有效,有三种浏览器的对接方式。

    • ChromeDriver(Chrome)
      GeckoDriver(火狐)
      浏览器驱动插件,驱动浏览器执行相应的操作。不同浏览器需要下载不同的插件,需要配置相关的环境变量。

    • phantomJS
      一个无头(Headless,无界面,使用脚本进行操作)浏览器,可以进行模拟登录等操作,以便爬取需要的网站。

    • aiohttp
      提供异步的web服务的库,其的异步操作借助于async/await关键字,使用异步库进行数据抓取,可在等待期间做其他事,提高爬虫效率

解析库

从网页中提取信息,正则表达式写起来比较繁琐,所以产生了许多强大的解析库

  • lxml
    支持html和XML的解析,支持Xpath解析方式(bs和scrapy框架都需要此库)。

  • pyquery
    提供类似jquery的语法来解析html文档,支持css选择器。

  • html5lib
    是一个Ruby和Python用来解析HTML文档的类库,支持HTML5以及最大程度兼容桌面浏览器。

  • Beautiful Soup
    html和XML的解析,从网页中提取信息,同时拥有强大的API和多样解析方式。支持Python标准库中的HTML解析器,还支持一些第三方的解析器。

几种解析器的优劣比较
  • tesserocr
    Python的一个OCR(optical character recognition,光学字符识别)识别库 ,本质是对tesseract做的一层API封装,需要先安装 tesseract 。
    可将图形验证码通过其形翻译成电子文本。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。