Python爬虫相关框架集合

前言

最近做了一个python自动登录淘宝爬取数据的脚本,关于这个脚本下篇会做介绍,在这之间涉及到许多框架,也遇到一些问题,所以在此主要做一些总结以备以后查询。

Python安装

各平台安装Python的方法参考: 安装python

Python的入门和语法参考:
Python基础教程
廖雪峰Python教程

Requests库的安装和使用

在Python爬虫开发中最为常用的库就是使用Requests实现HTTP请求,因为Requests实现HTTP请求简单、操作更为人性化。

安装Requests库
pip3 install requests

Requests库主要提供以下七种请求方法

Requests库的7个主要方法.png

具体使用参考如下:
快速上手Requests

Scrapy库的安装和使用

scrapy安装
pip3 install Scrapy

scrapy的具体使用参考中文官网如下:
scrapy快速入门

selenium库的安装和使用

selenium: 是一个用于对web网页进行自动化测试的工具, 可以通过它提供的一些方法自动操作浏览器, 可以完全模拟人的操作

selenium在Python爬虫中的应用:

1 获取动态网页中的数据, 一些动态的数据我们在获取的源码中并没有显示的这一类动态加载数据

2 用于模拟登录, 一些比较复杂的登录过程, 如果不通过selenium中的浏览器驱动完成登录的话, 我们需要分析出来这个登录发起的所有请求之间关联,包括cookie等关键信息(比如知乎登录), 而通过selenium驱动浏览器来完成知乎登录的话, 就不需要考虑一些cookie, 请求和请求之间的关联等信息, 只需要用户名和密码即可登录

selenium的特点
  1. 它是通过驱动浏览器来进行页面登录, 或者是获取页面信息

  2. 通过selenium来爬取网址的时候, 效率比较低, 因为浏览器的打开, 请求, 渲染页面都需要一定的时间, 所以尽量少使用selenium进行网站爬取, 除非是动态网站

  3. selenium提供的一些用于元素定位和查找的API都是纯Python语言实现的, 所以效率上看, 没有lxml中的定位API效率高

  4. selenium是开源免费的, 支持主流的浏览器, IE, FireFox, Chrome, Opera, Safari等

使用方法:

  1. 安装selenium:
pip3 install selenium (第三方库)
  1. 安装Chrome 浏览器驱动, chromedriver
    下载完成后:

windows 下,新建一个命名为chromedriver文件夹,将解压的chromedriver.exe放进文件夹,再配置进path环境变量

Mac、Linux下,把下载好的文件放在 /usr/bin 目录下就可以了。

注意: 浏览器驱动的版本最好要和浏览器的版本相匹配, 否则会出现不能启动浏览器的错误!

安装完成后:

1.引入这个库

from selenium import webdriver

2.创建一个Chrome浏览器对象

browser = webdriver.Chrome()

3.通过浏览器对象browser向某一个url发起请求

browser.get(url)

4.关闭浏览器

browser.quite()

mitmproxy库的安装和使用

mitmproxy是一个支持HHTP/HTTPS协议的抓包程序,类似Fiddler、Charles的功能,只不过世它通过控制台的形式操作。

mitmproxy还有两个关联组件:

mitmdump:它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。

mitmweb: 它是一个Web程序,通过它我们可以清楚观察mimproxy捕获的请求。
mitmproxy的功能:

拦截HTTP和HTTPS请求和响应
保存HTTP会话请进行分析
模拟客户端请求,模拟服务器返回响应
利用反向代理将流量转发给指定的服务器
支持Mac和Linux上的透明代理
利用Python对HTTP请求和响应进行实时处理

安装:

完成mitmproxy的安装,另外还附带安装了mitmdump和mimweb这两个组件
pip3 install mitmproxy

pip3 install mitmproxy

PyQuery安装和用法

PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery 是 Python 仿照 jQuery 的严格实现。语法与 jQuery 几乎完全相同,所以不用再去费心去记一些奇怪的方法了。
官网地址:http://pyquery.readthedocs.io/en/latest/
jQuery参考文档: http://jquery.cuishifeng.cn/

安装:
pip3 install pyquery

XPath的安装和用法
XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言。它最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索。
XPath的选择功能十分强大,它提供了非常简洁明了的路径选择表达式。另外,它还提供了超过100个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等。几乎所有我们想要定位的节点,都可以用XPath来选择。

安装
pip3 install lxml
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,755评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,305评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,138评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,791评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,794评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,631评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,362评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,264评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,724评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,900评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,040评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,742评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,364评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,944评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,060评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,247评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,979评论 2 355

推荐阅读更多精彩内容

  • 上网原理 1、爬虫概念 爬虫是什麽? 蜘蛛,蛆,代码中,就是写了一段代码,代码的功能从互联网中提取数据 互联网: ...
    riverstation阅读 8,065评论 1 2
  • 1. 概述 本文主要介绍网络爬虫,采用的实现语言为Python,目的在于阐述网络爬虫的原理和实现,并且对目前常见的...
    Lemon_Home阅读 2,754评论 0 21
  • 想写报道已然许久,之前或许是因为心有戚戚焉,也或许……但尝试一下也未必不可,故挺而走险举手作之。 ...
    別浮躁請荌靜阅读 418评论 1 0
  • 乐活 每天晨起捡秋果, 幸运快乐伴随我。 烦恼与我无关连, 浪漫红尘乐中裹。 今日收获多多,快乐多多,幸福多多,梦...
    往事如烟胖婆婆阅读 570评论 12 22
  • 在现实世界里,没有人会像方灯爱傅镜殊,陆一爱方灯那样爱自己的爱人吧。这样的爱太沉重。但他们都是千疮百孔的人,所以...
    鹿烨阅读 673评论 0 2