IT虾米网

Python3.x获取网页源码详解

developer 2019年07月17日 编程语言 142 0

Python3.x获取网页源码

1,获取网页的头部信息以确定网页的编码方式:

import urllib.request   
res = urllib.request.urlopen('http://www.163.com')   
#info()方法 用来获取网页头部   
print(res.info()) 

2,获取网页代码:

#导入 urllib库的request模块 
import urllib.request 
#指定要抓取的网页url,必须以http开头的 
url = r'http://fund.eastmoney.com/340007.html?spm=search' 
#调用 urlopen()从服务器获取网页响应(respone),其返回的响应是一个实例 
res = urllib.request.urlopen(url) 
#调用返回响应示例中的read()函数,即可以读取html,但需要进行解码,具体解码写什么,要在你要爬取的网址右键,查看源代码 
html = res.read().decode('utf-8') 
print(html)

 3,正式代码(加入头部,伪装成浏览器):

import urllib.request 
url = r'http://fund.eastmoney.com/340007.html?spm=search' 
headers = { 
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'} 
req = urllib.request.Request(url=url, headers=headers) 
res = urllib.request.urlopen(req) 
html = res.read().decode('utf-8') 
print(html)

注意:urllib.request.Request()用于向服务端发送请求,就如 http 协议客户端想服务端发送请求;

           urllib.request.urlopen()则相当于服务器返回的响应;

 

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Python3.6(windows系统)解决编码问题详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。