侧边栏壁纸
博主头像
行迹小栈

即使明天我们的手脚都会折断,但是我们的衣领和袖口,依然笔挺!

  • 累计撰写 113 篇文章
  • 累计创建 13 个标签
  • 累计收到 9 条评论

目 录CONTENT

文章目录

Urllib

Administrator
2024-07-24 / 0 评论 / 1 点赞 / 31 阅读 / 0 字 / 正在检测是否收录...

Python urllib

urllib库 包含以下几个模块

urllib.request  # 打开和读取url
urllib.error    # 包含urllib.request抛出的异常
urllib.parse    # 解析url
urllib.robotparser #解析robots.txt文件

urllib.resquest

我们抓取网页一般需要对 headers(网页头信息)进行模拟,这时候需要使用到 urllib.request.Request 类:

from urllib.request import urlopen
import urllib
# 构建一个完整的请求
r=urllib.request.Request(url='https://www.baidu.com/')
# url:url 地址。
# data:发送到服务器的其他数据对象,默认为 None。
# headers:HTTP 请求的头部信息,字典格式。
# origin_req_host:请求的主机地址,IP 或域名。
# unverifiable:很少用整个参数,用于设置网页是否需要验证,默认是False。。
#method:请求方法, 如 GET、POST、DELETE、PUT等。
------------------------------------------------------

# urlopen 打开一个网址 发送请求
response = urlopen(r)
#read()读取全部内容可以指定长度:read(300)
#decode用来解码
print(response.read().decode('utf-8'))
print(response.status)           #打印响应状态码
print(response.getheaders())     #打印响应的头信息
print(response.getheader('Server')) #打印响应头信息中的Server值

urllib.parse

urlencode quote unquote

from urllib import parse
# urlencode()可以将字典的键和值转换成url中携带的参数和值
str = {'wd':'爬虫'}
bh = parse.urlencode(str)
print(f'https://www.baidu.com/s?{bh}')
# 运行结果:https://www.baidu.com/s?wd=%E7%88%AC%E8%99%AB
```python
from urllib import parse
# quote() 可以将字符串转换成url编码
word = "爬虫"
urlword = parse.quote(word)
print(urlword)
# 运行结果: %E7%88%AC%E8%99%AB

# unquote() 可以将url编码转换成字符串
urlword = "%E7%88%AC%E8%99%AB"
word = parse.unquote(urlword)
print(word)
# 运行结果: 爬虫
1
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区