爬虫常用库介绍
文章目录
urllib
-
Urllib是 python 内置的库,在 Python 这个内置的 Urllib 库中有这么 4 个模块
-
request:request模块是我们用的比较多的,就是用它来发起请求,所以我们重点说说这个模块
-
error:error模块就是当我们在使用 request 模块遇到错了,就可以用它来进行异常处理
-
parse:parse模块就是用来解析我们的 URL 地址的,比如解析域名地址啦,URL指定的目录等
-
robotparser:这个用的就比较少了,它就是用来解析网站的 robot.txt
了解了 urllib 之后
我们就可以用 python 代码来模拟请求了
Requests
Requests这个库比我们上次说的 urllib 可是要牛逼一丢丢的,毕竟 Requests 是在 urllib 的基础上搞出来的。通过它我们可以用更少的代码模拟浏览器操作。
对于不是 python 的内置库,我们需要安装一下,直接使用 pip 安装
pip install requests
一行代码GET请求
r = requests.get('https://www.sina.com.cn/')
一行代码post请求
r = requests.post('https://www.sina.com.cn/', data = {'key':'value'})
假装自己是浏览器
>>> url = 'https://www.sina.com.cn/' >>> headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3704.400 QQBrowser/10.4.3620.400'} >>> r = requests.get(url, headers=headers)
获取服务器响应文本内容
>>> import requests >>> r = requests.get('https://www.sina.com.cn/') >>> r.text
BeautifulSoup
利用正则表达式去提取信息太特么麻烦了
有没有什么别的方式更方便过滤我们想要的内容啊
emmmm~
你还别说还真有有一个高效的网页解析库它的名字叫做
BeautifulSoup
它是一个可以从 HTML 或 XML 文件中提取数据的 Python 库
首先我们要安装一下这个库
pip install beautifulsoup4
beautifulsoup支持不同的解析器
比如
- 对 HTML 的解析
- 对 XML 的解析
- 对 HTML5 的解析
一般情况下我们用的比较多的是 lxml 解析器,我们先来使用一个例子让你体验一下beautifulsoup
的一些常用的方法
先安装一下
pip install beautifulsoup4 pip install lxml
接着将 html 的源代码传给
BeautifulSoup
此时此刻就不需要自己写正则匹配了
我们要做的就是从这个对象直接获取我们要的内容,获取标题的内容
比如我们有这样一段
HTML代码
接着将 html 的源代码传给
BeautifulSoup,此时此刻就不需要自己写正则匹配了,我们要做的就是从这个对象直接获取我们要的内容获取标题的内容
然后我们可以获取标签内容,链接内容以及文本内容
除了find方法之外,如果你对css比较熟悉也可以使用 select 方法
selenium
什么是
selenium?其实它就是一个自动化测试工具,支持各种主流的浏览器,遇到了
python,
selenium变成了爬虫利器我们先来安装一下
pip install selenium
Chrome: | https://sites.google.com/a/chromium.org/chromedriver/downloads |
---|---|
Edge: | https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ |
Firefox: | https://github.com/mozilla/geckodriver/releases |
Safari: | https://webkit.org/blog/6900/webdriver-support-in-safari-10/ |
接着我们来尝试一下代码
我们发现自动弹出了一个Chrome浏览器窗口
这就是 selenium 的魅力
我们来看下我们刚刚写的代码
就这样完成了一次自动的百度搜索
当我们使用驱动打开了一个页面,这时候其实没什么鸟用,因为我们要对那些元素进行操作
就像刚刚我们要获取输入框然后输入一些内容还有获取按钮点击什么的,selenium 提供了挺多方法给我们获取的,当我们要在页面中获取一个元素的时候可以使用这些方法。
想要在页面获取多个元素呢
- 点赞
- 收藏
- 分享
- 文章举报
- python爬虫常用模块介绍(1)
- python库学习笔记——爬虫常用的BeautifulSoup的介绍
- JAVA中常用的集合类,接口介绍
- mybatis动态sql,常用元素介绍
- Redis介绍及常用命令__http://langgufu.iteye.com/blog/1434408
- Oracle常用函数介绍
- 结合Scikit-learn介绍几种常用的特征选择方法
- 开源网络爬虫介绍及其比较
- CSDN爬虫(五)——CSDN用户(所有)爬取+常用爬虫正则整理
- 爬虫Scrapy-常用工具命令行
- 介绍一些常用的第三方插件
- 10.28 rsync工具介绍 , rsync常用选项, rsync通过ssh同步
- 学习笔记——Maven实战(八)常用Maven插件介绍(下)
- NodeJS 常用模块介绍
- struts2中常用的常量介绍
- 深度学习常用框架介绍
- 数据爬虫(一):爬虫的基本原理介绍
- Redis常用数据类型介绍、使用场景及其操作命令
- Apatch常用的commons工具包介绍
- 浅析node Async异步处理模块用例分析及常用方法介绍