Python爬虫:常用的爬虫工具汇总

最近需要跑一个风格迁移cyclegan项目,这个并不难,github上随便search一个就可以,但是数据集很是头疼,没有比较合适的数据集,因此需要自己在网上寻找一些图片,但如果不使用爬虫爬数据,不知道要到猴年马月,因此需要使用爬虫爬取谷歌、百度、以及一些图片网站的图片,之前倒是学过request库,但没怎么用过,因此先开个帖子,记录下相关知识。

爬虫整体思路:页面下载 –> 页面解析 –> 数据存储

一、页面下载器

 requests(必学)
      
     Requests: HTTP for Humans™
  1. python爬虫入门requests模块
  2. Python爬虫:requests库基本使用
  3. Python爬虫:使用requests库下载大文件
  4. Python爬虫:requests多进程爬取猫眼电影榜单
  5. requests InsecureRequestWarning: Unverified HTTPS request is being made.
  1. scrapy
    1. Python网络爬虫之scrapy框架
    2. scrapy学习
    3. Python爬虫:关于scrapy模块的请求头
    4. Python爬虫:scrapy框架请求参数meta、headers、cookies一探究竟
    5. Python爬虫:scrapy辅助功能实用函数
  2. selenium+chrome + PhantomJS(抓取动态网页,不推荐)
    1. mac下安装selenium+phantomjs+chromedriver
    2. Python爬虫:selenium模块基本使用
    3. Python爬虫selenium模块
    4. Python爬虫:selenium和Chrome无头浏览器抓取烯牛数据动态网页
    5. Python爬虫:利用selenium爬取淘宝商品信息
    6. Python爬虫:selenium使用chrome和PhantomJS实用参数
  1. Splash(抓取动态网页,推荐)
    1. Python爬虫:splash的安装与简单示例
    2. Python爬虫:splash+requests简单示例
    3. Python爬虫:scrapy利用splash爬取动态网页

总结: 对于下载器而言,python自带的urllib就不要花时间去学了,学了就忘,直接requests能满足大部分测试+抓取需求,进阶工程化scrapy,动态网页优先找API接口,如果有简单加密就破解,实在困难就使用splash渲染

二、页面解析器

  1. BeautifulSoup(入门级)
    1. Python爬虫入门BeautifulSoup模块
    2. Beautiful Soup 4.4.0 文档¶
  1. pyquery (类似jQuery)
    1. Python爬虫:pyquery模块解析网页
  2. lxml
    1. Python爬虫:使用lxml解析网页内容
  1. parsel
    1. Extract text using CSS or XPath selectors
  2. scrapy的Selector (强烈推荐, 比较高级的封装,基于parsel)
    1. 选择器(Selectors)
    2. python爬虫:scrapy框架xpath和css选择器语法

总结: 其实解析器学习一个就够了,其他都不用学,很多培训会教你从上到下的学习,我不是很推荐,直接学习scrapy的Selector 就行,简单、直接、高效

三、数据存储

  1. txt文本
    1. Python全栈之路:文件file常用操作
  1. csv文件
    1. python读取写入csv文件
  2. sqlite3 (python自带)
    1. Python编程:使用数据库sqlite3
  1. MySQL
    1. SQL:pymysql模块读写mysql数据
  2. MongoDB
    1. Python编程:mongodb的基本增删改查操作

总结: 数据存储没有什么可深究的,按照业务需求来就行,一般快速测试使用MongoDB,业务使用MySQL

四、其他工具

  1. execjs :执行js Python爬虫:execjs在python中运行javascript代码
  2. pyv8: 执行js mac安装pyv8模块-JavaScript翻译成python
  3. html5lib 1. Python爬虫:scrapy利用html5lib解析不规范的html文本

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注