admin管理员组文章数量:1794759
python自学 (七)第七章 网络爬虫开发
为了能在开学后更好地融入实验室,本人计划用一个月的时间进行python3语言入门,该系列笔记适合已经有一门编程语言基础的朋友参考使用,欢迎同道者前来交流~
使用教材: 1.《python从入门到精通》清华大学出版社;(自带教学视频【二维码形式】) 2.《机器学习》周志华(西瓜书) 清华大学出版社; 3.《python机器学习手册》 [美]Xhris Albon; 4. BiliBili 《和美女老师一起学python》视频。
………………………………
Python 网络爬虫技术网络爬虫,即可以按照指定规则自动浏览或抓取网页中的信。
(一)网络爬虫的分类1.网络爬虫的基本原理:
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('www.baidu') 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('httpbin/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','www.baidu') print(response.data) 3.requests 模块request是第三方模块,在使用之前应该先在 cmd 中使用 pip 命令安装它。
pip install requests使用GET请求,打印多种信的示例代码如下所示:
import requests #导入模块 response = requests.get('www.baidu') print(response.status_code) #打印状态码 print(response.url) #打印请求URL print(response.headers) #打印头部信 print(response.cookies) #打印cookie信 print(response.text) #以文本形式打印网页源码 print(response.content) #以字节流形式打印网页源码运行结果展示: ………………………………
(三)HTML 解析之 BeautifulSoupBeautifulSoup是一个用于从HTML和XML文件中提取数据的Python库。
BeautifulSoup提供一些简单的函数用来处理导航、搜索、修改分析数等功能。
BeautifulSoup具有非常强大的查找功能,可以很好地节省时间。
1.安装BeautifulSoup
在cmd中输入命令: pip install beautifulSoup 4
2.创建BeautifulSoup对象
soup = BeautifulSoup(html_doc, features = ''lxml'') print(soup)【此处有一个实战项目待补充】
版权声明:本文标题:python自学 (七)第七章 网络爬虫开发 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686481914a72433.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论