- Python3.x标准库urllib提供了urllib.request、urllib.response、urllib.parse和urllib.error四个模块,很好地支持了网页内容读取功能。再结合Python字符串方法和正则表达式,可以完成一些简单的网页内容爬取工作,也是理解和使用其他爬虫库的基础
- 使用 urllib.request.urlopen()函数可以打开一个网站,读取并打印网页信息
- urllib.urlopen(url, data[, proxies])
- urlopen()函数返回response对象
- 函数的参数url表示远程数据的路径;data表示提交到url的数据;proxies用于设置代理
- response对象的方法
1、info()方法: 返回一个httplib.HTTPMessage对象
2、getcode()方法:返回HTTP状态码。如果是HTTP请求,200表示请求成功完成,404表示网址未找到
3、geturl():返回请求的url - requests库简洁的处理HTTP请求的第三方库,建立在Python的urllib3库基础上,是对urllib3库的再封装。
- requests库包括URL获取、HTTP长连接和连接缓存、自动内容解码、文件分块上传、连接超时处理、流数据下载等功能
- requests库的requests.get()方法功能是网络爬虫和信息提交
- res=requests.get(url[,timeout=n])该函数返回的网页内容会保存为一个response对象。参数url必须采用HTTP或HTTPS方式访问,可选参数timeout用于设定每次请求超时时间
- requests.get() 返回的response对象代表响应。response对象的主要属性如下
- statuscode:返回HTTP请求的状态,200表示连接成功,404表示失败
- text:HTTP响应内容的字符串形式,即url对应的页面内容
- encoding:HTTP响应内容的编码方式
- content:HTTP响应内容的二进制形式
- Response对象提供了两个方法。
1、json():如果HTTP响应内容包含JSON格式数据,则该方法解析JSON数据。
2、raise_for_status():如果status_code值不是200,则产生异常 - beautifulsoup4库也称为bs4库或BeautifulSoup库。Python用于网页分析的第三方库,用来快速转换被抓取的网页。beautifulsoup4将网页转换为一颗DOM树。beautifulsoup4提供一些简单的方法以及类Python语法来查找、定位、修改一棵转换后的DOM树,还能自动将送进来的文档转换为Unicode编码
- beautifulsoup4库的对象
1、BeautifulSoup将HTML文档转换成一个树形结构,每个结点都是 对象,可以归纳为4种类型:Tag、NavigableString、BeautifulSoup、Comment。
2、Tag对象,HTML中的一个标签。
3、NavigableString对象,用于操纵标签内部的文字,标签的string属性返回NavigableString对象
4、BeautifulSoup对象,表示的是一个文档的全部内容,大部分时候可以把它看作是一个特殊的Tag。
5、Comment对象,是一个特殊类型的NavigableSting对象,它的内容不包括注释符号
2020-11-30 网络爬虫
最新推荐文章于 2024-09-02 17:52:39 发布
本文介绍使用Python标准库urllib及第三方库requests和beautifulsoup4进行网页内容抓取的方法。涉及urllib.request.urlopen()函数、requests.get()方法及BeautifulSoup对象的使用。
摘要由CSDN通过智能技术生成