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的响应体。

浙公网安备 33010602011771号