python 获取网页
来源:互联网 发布:手机视频融合软件 编辑:程序博客网 时间:2024/05/23 21:23
使用python获取网页需要使用到urllib
模块,我们先导入:
from urllib.request import Request,urlopen
下面用Request
生成一个请求头,这里抓取的是百度的首页:
req = Request('https://www.baidu.com/')req.add_header('User-Agent', 'Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25')
也可以这样写:
req = Request('https://www.baidu.com/', headers={'User-Agent':'Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25'})
哪一个更好,这就看大家的个人喜好了。
请求头的信息,我们可以通过浏览器的开发人员工具获得:
添加请求头的意义在于防止服务器的过滤,一些服务器会屏蔽没有请求头的请求。
下面我们就可以使用urlopen
就可以打开网页了,不过urlopen
的返回值是一个类:<class 'http.client.HTTPResponse'>
我们需要read函数来获得网页的源代码。
file = urlopen(req).read()
file中储存的就是网页的html编码,我们可以用print将网页打印下来,或是保存在一个文件里。
with open('out.html', 'wb') as f: f.write(file)
打开我们的网页文件,就是百度的首页:
值得一提的是,我们抓取的网页,其实只是百度首页的html文件。但在在浏览器中打开时,浏览器会自动从网络上下载关联的图片、js、css文件等将我们的网页补全了。
总的来说用python抓取网页本身是很简单的,复杂重复的工作,python都通过了模块来完成,python本身就是一门立足于简介的语言。
下面是我的python脚本:
from urllib.request import Request, urlopenreq = Request('https://www.baidu.com/')req.add_header('User-Agent', 'Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25')file = urlopen(req).read()with open('out.html', 'wb') as f: f.write(file)
python版本:python3.4
2.7与此类似
<如有遗漏,欢迎留言补充,转载请注明出处>
0 0
- Python 获取网页内容
- python 获取网页header
- python 获取网页
- python--获取网页图片
- Python获取网页源码
- python获取文本网页
- Python 3.2 获取中文网页
- python urllib* 获取网页信息
- Python获取网页状态码
- python 爬虫获取网页图片
- Python 爬虫:获取网页图片
- python requests获取网页乱码
- python获取网页响应时间
- 用Python获取网页数据
- Python(2):Python获取网页信息
- 使用python urllib2获取网页信息
- python根据url获取网页内容
- python自动化获取网页编码方式
- Android【USB名称修改系列】第9项-如何修改UMS在设备管理器中DiskDrive下的名称
- 修改mysql密码的四种方法
- http://www.aichengxu.com/view/14872
- 【图书管理系统】——要学会抓住机会
- mysql设置允许远程方法
- python 获取网页
- linux下的redis的安装
- 【Effective Objective-C 2.0读书笔记】第四章:协议和分类
- 数据结构——顺序栈(c++)
- Java, just a language (一)
- 留言板设计中的MySQL学习
- rtl8812驱动分析(二)
- leetcode:Excel Sheet Column Title
- win7 64位旗舰版安装Ubuntu 10.04 非wubi安装