Python3 默认提供了urllib库,可以爬取网页信息,但其中确实有不方便的地方,如:处理网页验证和Cookies,以及Hander头信息处理。
为了更加方便处理,有了更为强大的库 urllib3 和 requests, 本节会分别介绍一下,以后我们着重使用requests。
1. urllib3库的使用:
- 安装:通过使用pip命令来安装urllib3
pip install urllib3
- 简单使用:
import urllib3
import re
# 实例化产生请求对象
http = urllib3.PoolManager()
# get请求指定网址
url = "http://www.baidu.com"
res = http.request("GET",url)
# 获取HTTP状态码
print("status:%d" % res.status)
# 获取响应内容
data = res.data.decode("utf-8")
# 正则解析并输出
print(re.findall("
",data))
- 其他设置: 增加了超时时间,请求参数等设置
import urllib3
import re
url = "http://www.baidu.com"
http = urllib3.PoolManager(timeout = 4.0) #设置超时时间
res = http.request(
"GET",
url,
#headers={
# 'User-Agent':'Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1',
#},
fields={'id':100,'name':'lisi'}, #请求参数信息
)
print("status:%d" % res.status)
data = res.data.decode("utf-8")
print(re.findall("
",data))
2. requests库的使用:
- 安装:通过使用pip命令来安装requests
pip install requests
- 简单使用:
import requests
import re
url = "http://www.baidu.com"
# 抓取信息
res = requests.get(url)
#获取HTTP状态码
print("status:%d" % res.status_code)
# 获取响应内容
data = res.content.decode("utf-8")
#解析出结果
print(re.findall("
",data))
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
信息
+关注
关注
0文章
409浏览量
36453 -
python
+关注
关注
59文章
4892浏览量
90414
发布评论请先 登录
相关推荐
热点推荐
如何在 Vision Five 2 上安装 python 库?
这可能是一个完全愚蠢的问题,但我如何在 Vision Five 2 上安装 python 库。
使用该命令后,它给了我这个错误。
默认为用户安装,因为普通站点包不可写
错误:找不到满足要求
发表于 03-06 07:51
无法去除 Python VisionFive.i2c 库的终端输出?
烧的官方最新八月份的 debian 12 的系统。
根据这个案例安装好了 python 环境和 VisionFive 库。
执行下面这条代码:
import VisionFive.i2c
发表于 02-25 06:13
微库与标准C库的区别
主要的差异:
1.代码(数据)量更小(对比上图)。
2.缺少一些不常用标准库函数,比如:文件 I/O 的库函数。
3.微库最大程度优化代码量,可能会导致有些库代码运行速度更慢。
4.可用于RTOS这类
发表于 12-09 07:49
Python调用API教程
两个不同系统之间的信息交互。在这篇文章中,我们将详细介绍Python调用API的方法和技巧。 一、用Requests库发送HTTP请求 使用Pyth
目前最新版的userapps如何安装D1s环境?
Traceback (most recent call last):
File \"/usr/lib/python3/dist-packages/urllib3/connection.py\"
发表于 09-25 07:33
在KiCad华秋发行版中使用云端器件库
“ KiCad 自带的库质量非常高,建库团队也很强大,无奈 KiCad 没有元器件的定义,虽然有 Database Library 和 Httplib 这样强力的工具,但没有类似 EasyEDA
数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例
备份,仅有一些断断续续的归档日志。
Oracle数据库恢复流程:
1、检测数据库故障情况;
2、尝试挂起并修复数据库;
3、解析数据库
linux虚拟环境中调用Linux 版matlab编译的python库时出错
matlab代码编译为CAO_python的python库,其中cp_Main_python.m为入口文件,编译后生成的文件有mccExcludedFiles.log、setup.py
发表于 07-18 10:40
数据库数据恢复—MongoDB数据库文件丢失的数据恢复案例
MongoDB数据库数据恢复环境:
一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。
MongoDB数据库故障:
工作人员在MongoDB服务仍然开启的情况下
自己写库:构建库函数雏形
实际上,构建固件库是一件费时费力的事情,并且它对开发者对芯片的熟悉程度有一定的要求。甚至,当一个固件库的封装程度很高时,想要阅读并理解该固件库的底层代码也会变成一件有较高难度的事情。瑞萨RA系列
基于STM32 HAL库与标准库的esp8266接入机智云方案(二)
在《基于STM32HAL库与标准库的esp8266接入机智云方案(一)》中,我们详细介绍了硬件连接和机智云客户端的创建。本篇将重点讲解如何下载代码、分析下载的代码,并直接使用这些代码连接机智云。同时
python中urllib3库和requests库的使用
评论