为了能在开学后更好地融入实验室,本人计划用一个月的时间进行python3语言入门,该系列笔记适合已经有一门编程语言基础的朋友参考使用,欢迎同道者前来交流~
使用教材:
1.《python从入门到精通》清华大学出版社;(自带教学视频【二维码形式】)
2.《机器学习》周志华(西瓜书) 清华大学出版社;
3.《python机器学习手册》 [美]Xhris Albon;
4. BiliBili 《和美女老师一起学python》视频。
………………………………
Python 网络爬虫技术
网络爬虫,即可以按照指定规则自动浏览或抓取网页中的信息。
(一)网络爬虫的分类
1.网络爬虫的基本原理:
- 获取初试URL;
- 爬取页面时获得新的URL
- 抽取新的URL放入URL队列中;
- 读取新的URL进行网页下载;
- 如果满足停止条件,停止;如果不满足,返回步骤二。
2.网络爬虫分类
………………………………
(二)网络爬虫常用技术
在python中实现HTTP网络请求的三种常见方式: urllib urllib3 requests
1.urllib 模块
这是一个自带模块,提供了一个 urlopen() 方法,通过该方法指定URL发送网络请求来获取数据。
urlib的子模块为:
模块名称 | 描述 |
---|---|
urllib.request | 该模块定义了打开URL(主要是HTTP)的方法和类,如身份验证、重定向、cookie等 |
urllib.error | 该模块中主要包含异常类,基本的异常类是URLError |
urllib.parse | 该模块定义的功能分为两大类:URL解析和URL引用 |
urllib.robotparser | 该模块用于解析robots.txt文件 |
通过urllib.request模块实现发送请求并读取网页内容的简单示例如下:
【通过get请求获得百度的网页内容】
import urllib.request #导入模块
#打开指定需要爬取的网页
response = urllib.request.urlopen('http://www.baidu.com')
html = response.read() #读取网页代码
print(html) #打印读取内容
运行结果:
(双击黄框框会展开网页内容)
通过post请求实现获取网页信息的内容:
import urllib.request #导入模块
import urllib.parse
#将数据使用urlenconde编码处理后,再使用encoding设置为utf-8编码
data = bytes(urllib.parse.urlencode({
'word':'hello'}),encoding = 'utf-8')
#打开指定需要爬取的网页
reponse = urllib.request.urlopen('http://httpbin.org/post',data = data)
html = reponse.read() #读取网页内容
print(html) #打印读取内容
运行结果:
2.urllib3 模块
在使用urllib3之前需要先通过 pip install urllib3 命令 在cmd中 对该模块进行安装。
pip install urllib3
通过urlib3模块实现发送网络请求的示例代码如下:
import urllib3
http = urllib3.PoolManger()
response = http.request('GET','https://www.baidu.com')
print(response.data)
3.requests 模块
request是第三方模块,在使用之前应该先在 cmd 中使用 pip 命令安装它。
pip install requests
使用GET请求,打印多种信息的示例代码如下所示:
import requests #导入模块
response = requests.get('http://www.baidu.com')
print(response.status_code) #打印状态码
print(response.url) #打印请求URL
print(response.headers) #打印头部信息
print(response.cookies) #打印cookie信息
print(response.text) #以文本形式打印网页源码
print(response.content) #以字节流形式打印网页源码
运行结果展示:
………………………………
(三)HTML 解析之 BeautifulSoup
BeautifulSoup是一个用于从HTML和XML文件中提取数据的Python库。
BeautifulSoup提供一些简单的函数用来处理导航、搜索、修改分析数等功能。
BeautifulSoup具有非常强大的查找功能,可以很好地节省时间。
1.安装BeautifulSoup
在cmd中输入命令: pip install beautifulSoup 4
2.创建BeautifulSoup对象
soup = BeautifulSoup(html_doc, features = ''lxml'')
print(soup)
【此处有一个实战项目待补充】