urllib的基本使用

使用 urllib 来获取百度首页的源码,通过首页源码获取针对的数据。

定义一个 url变量

url='http://www.baidu.com'

模拟浏览器向服务器发送请求。

response=urllib.request.urlopen(url)

获取响应中的页面的源码

content = response.read()

打印数据

print(content)

使用urllib

import urllib.request

url='http://www.baidu.com'
response=urllib.request.urlopen(url)
content = response.read()
print(content)

==>
b'<!DOCTYPE html>\n<html>\n<head>\n    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\n    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />\n    <meta content="always" name="referrer" />\n    <meta\n        name="description"\n        content="\xe5\x85\xa8\xe7\x90\x83\xe9\xa2\x86\xe5\x85\x88\xe7\x9a\x84\xe4\xb8\xad\xe6\x96\x87\xe6\x90\x9c\xe7\xb4\xa2\xe5\xbc\x95\xe6\x93\x8e\xe3\x80\x81\xe8\x87\xb4\xe5\x8a\x9b\xe4\xba\x8e\xe8\xae\xa9\xe7\xbd\x91\xe6\xb0\x91\xe6\x9b\xb4\xe4\xbe\xbf\xe6\x8d\xb7\xe5\x9c\xb0\xe8\x8e\xb7\xe5\x8f\x96\xe4\xbf\xa1\xe6\x81\xaf\xef\xbc\x8c\xe6\x89\xbe\xe

此时输出的是二进制的,这是因为 read() 返回的事字节形式的二进制数据。

为了方便看就需要将二进制的数据转换为字符串,这被称为解码:decode('编码格式')

content = response.read().decode('utf-8')
import urllib.request

url='http://www.baidu.com'
response=urllib.request.urlopen(url)
content = response.read().decode('utf-8')
print(content)

==>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <meta content="always" name="referrer" />
    <meta
        name="description"
        content="全球领先的中文搜索引擎、致力于让网民更便捷地获取信息,找到所求。百度超过千亿的中文网页数据库, 可以瞬间找到相关的搜索结果。"
--snip--

response变量存储的是urllib.request.urlopen()函数返回的一个 http.client.HTTPResponse对象(在Python 3中)。这个对象代表了HTTP请求的响应。
可以通过response.read()方法读取http的响应体。

posted @ 2025-06-29 23:44  takenika  阅读(81)  评论(0)    收藏  举报