admin管理员组

文章数量:1794759

python自学 (七)第七章 网络爬虫开发

python自学 (七)第七章 网络爬虫开发

为了能在开学后更好地融入实验室,本人计划用一个月的时间进行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('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 解析之 BeautifulSoup

    BeautifulSoup是一个用于从HTML和XML文件中提取数据的Python库。

    BeautifulSoup提供一些简单的函数用来处理导航、搜索、修改分析数等功能。

    BeautifulSoup具有非常强大的查找功能,可以很好地节省时间。

    1.安装BeautifulSoup

    在cmd中输入命令: pip install beautifulSoup 4

    2.创建BeautifulSoup对象

    soup = BeautifulSoup(html_doc, features = ''lxml'') print(soup)

    【此处有一个实战项目待补充】

    本文标签: 爬虫第七章网络Python