python urllib

本文详细介绍了使用Python的urllib库进行网页请求、数据下载、URL编码与解码的方法。涵盖了urllib.request.urlopen函数的基本使用,包括读取响应、下载页面、处理SSL验证,以及如何使用urlencode和parse_qs进行参数编码与解码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

urllib.request.urlopen

from utllib import request
resp = request.urlopen('http://www.baidu.com')
print(resp.read())
import ssl
from urllib import request
import json


if __name__ == '__main__':
    context = ssl._create_unverified_context()

    url = r'https://api.lab.wayougou.com/api/stocks/rank'

    response = request.urlopen(url, context=context)

    html = json.loads(response.read())

    print(type(html))
    print(html)

    print()
    [print(i) for i in html]

返回值: read(size), readline, readlines, getcode

下载页面urlretrieve

from urllib import request

request.urlretrieve('http://www.baidu.com/', './baidu.html')
request.urlretrieve('xxxx.img', './luban.jpg')

编码urlencode函数

from urllib import request
from urllib import parse

params = {'name': '哈哈', 'age': 18, 'greet':'hello world'}
result = parse.urlencode(params)
print(result)

用程序的方式请求百度搜索刘德华https://www.baidu.com/s?wd=刘德华—>https://www.baidu.com/s?wd=%E5%88%98%E5%BE%B7%E5%8D%8E
这个网址不能直接被urlopen打开, 因为urlopen只解析ascii

from urllib import request
from urllib import parse

url = 'https://www.baidu.com/s'
params = {'wd': '刘德华'}
qs = parse.urlencode(params)

url = url + '?' + qs
resp = request.urlopen(url)
print(resp.read())

parse_qs 解码

params = {'name': '哈哈', 'age': 18, 'greet':'hello world'}
qs = parse.urlencode(params)
print(qs)
result = parse.parse_qs(qs)
print(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值