前言:何为爬虫?爬虫指可以自动抓取特定互联网信息的程序,从包含海量信息的网页上抓取对于我们有价值的信息。
1.爬虫架构
- 调度器:相当于一台电脑的CPU,主要负责调度URL管理器、下载器、解析器之间的协调工作。
- URL管理器:包括待爬取的URL地址和已爬取的URL地址,防止重复抓取URL和循环抓取URL,实现URL管理器主要用三种方式,通过内存、数据库、缓存数据库来实现。
- 网页下载器:通过传入一个URL地址来下载网页,将网页转换成一个字符串,网页下载器有urllib2(Python官方基础模块)包括需要登录、代理、和cookie,requests(第三方包)
- 网页解析器:将一个网页字符串进行解析,可以按照我们的要求来提取出我们有用的信息,也可以根据DOM树的解析方式来解析。网页解析器有正则表达式(直观,将网页转成字符串通过模糊匹配的方式来提取有价值的信息,当文档比较复杂时,使用该方法提取数据会比较困难)、html.parser(Python自带的)、beautifulsoup(第三方插件,可以使用Python自带的html.parser进行解析,也可以使用lxml进行解析,相对于其他几种来说要强大一些)、lxml(第三方插件,可以解析 xml 和 HTML),html.parser 和 beautifulsoup 以及 lxml 都是以 DOM 树的方式进行解析的。
- 应用程序:就是从网页中提取的有用数据组成的一个应用。
2.爬虫用途
爬虫级别:
- 小爬:各种库来爬
- 中爬:框架
- 大爬:搜索引擎
爬虫目标:
- 获取数据
- 做行业分析
- 做集成化搜索
目标类型:
- 文本
- 图片
- 影音
3.开始爬虫
需要安装的python包:
pip install bs4
pip install requests
pip install lxml
requests包介绍
requests包是用于发送请求与接收响应的,就像我们每天用谷歌搜索,“在搜索栏输入内容并点击搜索”,这本身就是一次请求的发送,而“搜索的结果会通过一个新的页面反馈到你的面前”,这便是一次响应的接收。所以使用requests包中的方法,便可通过python实现发送请求与接收响应。
使用示例:
import requests#导入requests包
my_request = requests.get('https://www.jianshu.com/')#创建对简书的请求
my_request.status_code#查看请求状态代码,返回200表示请求状态正常
my_src = my_request.text#获取该html网页的源码
bs4包介绍
有了html源码后,可以选择使用正则匹配数据,但是很麻烦,Python提供了一个更简单的可以解析html的python库,就是bs4。
常用的方法为:
from bs4 import BeautifulSoup
soup = BeautifulSoup(my_src, 'lxml')
soup.find_all('a') # 获取整个网页所有a标签
soup.find_all('p') # 获取整个网页所有p标签
soup.find('p') # 获取网页第一个p标签
soup.find_all('title') # 获取网所有关于title的标签
soup.select('#stro p') # 这个是按照css选择器获取元素的 和css几乎相同
今天的入门就先到这里了,下一篇继续肝!
下面是广告时间:
做了这么久生信,我也该出山了,如果有生信分析需求或者想交流生信学习经验的小伙伴,可在简书私信联系我噢~~
或者关注我们的微信公众号:BI201708












网友评论