Python伪装浏览器爬虫读取网页内容
来源:互联网 发布:超市库存软件 编辑:程序博客网 时间:2024/05/16 14:53
Python伪装浏览器爬虫读取网页内容
昨天在OSC上看到有段代码,解析HTML相关的,我突然就想到了Python,用Python实现同样功能应该也不难吧,于是我开始试着用Python读取网页内容,不过过程有点纠结。
声明:以下代码在Python 3.3中编写调试完成!
首先我是这样做的:
import urllib.requesturl = "http://www.oschina.net/"data = urllib.request.urlopen(url).read()print(data)
结果发现不行,OSC加了保护,不止是OSC,CSDN等等很多网站都这样,这就必须要伪装浏览器正常访问了,类似蜘蛛爬虫一样,那么只有给代码加上一个Header,再试试读取HTML。
Chrome如何查看你的浏览器的Header:
一图全解,有木有。
F12打开开发人员工具,其他浏览器也有类似功能,很方便哦,这里我们只需要Request Headers中的User-Agent就可以了。
各种纠结呀,网上许多代码都是Python2的,我用的3.3,import很多都不一样了,没办法只有翻Python的官方文档,全英文有点苦,还好我的Chrome可以随时翻译,减轻负担呀。
在官方文档3.3中找到了urllib.request的文档:docs.python.org/3/library/urllib.request.html
在Examples中找到了一个addheaders的方法,试了一下果然能行,下面就是代码。
'''Created on 2013-1-27@author: isaced''' import urllib.requesturl = "http://www.oschina.net/"headers = ('User-Agent','Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11')opener = urllib.request.build_opener()opener.addheaders = [headers]data = opener.open(url).read()print(data)
到这里就能输出页面的HTML了,也可以直接保存成本地HTML文件,打开正常。
另外对于这编码问题还是有点迷茫。
另收藏一条很有用的语句,type(),类似于C语言中的typeof(),可以print出来直接查看数据类型,很方便!
0 0
- Python伪装浏览器爬虫读取网页内容
- Python伪装浏览器爬虫读取网页内容
- Python3伪装浏览器爬虫读取网页内容
- python爬虫浏览器伪装
- Python(17):伪装成浏览器读取网页信息
- python爬虫伪装成浏览器访问
- Python伪装浏览器请求爬虫豆瓣小组
- 爬虫的浏览器伪装
- Python 网络爬虫系列(二) --- 伪装成浏览器访问
- python 爬虫完美伪装
- 2.python爬虫伪装
- Python爬虫伪装
- 【python学习笔记】伪装浏览器爬取网页
- 爬虫伪装成浏览器访问
- python浏览器伪装技术
- python 爬虫 伪装成 chrome
- Python3 爬虫(二) -- 伪装浏览器
- Python3 爬虫(二) -- 伪装浏览器
- Android--锁定横屏、竖屏、去标题全屏
- 图解机器学习总结——2、回归
- 《javascript Dom编程艺术》学习笔记
- Shell逐行读取文件的4种方法
- android Palette调色板的使用方法
- Python伪装浏览器爬虫读取网页内容
- Android小记:编码命名规范
- Codeforces 639A (set 水~)
- API。Spark SQL 1.3.0 DataFrame介绍、使用及提供了些完整的数据写入
- [简易]中英文混合排序
- Linux系统下创建任务,对指定目录文件进行自动压缩存档
- 深入探讨ROP 载荷分析
- ionic(angularjs)select下拉选择第一个选项为空白的解决办法
- POJ1700