【跟我学Python】第三章.场景三-- 使用Python解析抓取网页
使用Python访问网页主要有三种方式: urllib, urllib2, httplib
urllib比较简单,功能相对也比较弱,httplib简单强大,但好像不支持session
1. 最简单的页面访问
res=urllib2.urlopen(url)
print res.read()
2. 加上要get或post的数据
data={"name":"hank", "passwd":"hjz"}
urllib2.urlopen(url, urllib.urlencode(data))
3. 加上http头
header={"User-Agent": "Mozilla-Firefox5.0"}
urllib2.urlopen(url, urllib.urlencode(data), header)
更为复杂的操作:使用opener和handler协助操作其它web资源
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
4. 加上session
cj = cookielib.CookieJar()
cjhandler=urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cjhandler)
urllib2.install_opener(opener)
5. 加上Basic认证
password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
top_level_url = "http://www.163.com/"
password_mgr.add_password(None, top_level_url, username, password)
handler = urllib2.HTTPBasicAuthHandler(password_mgr)
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
6. 使用代理
proxy_support = urllib2.ProxyHandler({"http":"http://1.2.3.4:3128/"})
opener = urllib2.build_opener(proxy_support)
urllib2.install_opener(opener)
7. 设置超时
socket.setdefaulttimeout(5)
场景三:用Python写一个秒杀脚本,能够对淘宝特定页面进行解析
proxy_support = urllib2.ProxyHandler({"http":"http://proxy.****.com/"}) opener = urllib2.build_opener(proxy_support) urllib2.install_opener(opener) res = urllib2.urlopen('http://www.taobao.com/') print res.read() #将读取得到整个html页面 #接下来使用beautifulsoup扩展库对html中特定的div进行解析 from bs4 import * soup = BeautifulSoup(res.read( )) print(soup.find(id="div1")) #得到id=div1的div
相关推荐
Python3编写实用脚本程序——从零学Python-掘金活动.zip Python3编写实用脚本程序——从零学Python-掘金活动.zip Python3编写实用脚本程序——从零学Python-掘金活动.zip Python3编写实用脚本程序——从零学Python-...
2010-09-07 12:43 220,160 boost_python-vc90-mt-1_44.dll 2010-09-07 12:43 189,272 boost_python-vc90-mt-1_44.lib ...2010-09-07 11:37 3,396,608 python27_d.dll 2010-09-07 11:37 236,300 python27_d.lib
清华大学精品Python学习PPT课件-第3章 Python流程控制.pptx 清华大学精品Python学习PPT课件-第4章 Python组合数据类型.pptx 清华大学精品Python学习PPT课件-第5章 Python正则表达式.pptx 清华大学精品Python学习PPT...
python27_d.lib python27的debug版本的动态库文件
VS c++ 调用Python3.7.x版本的程序,缺少python37_d.lib链接库,这里为你提供,亲测可以使用。
第3章 Python流程控制.pptx 第4章 Python组合数据类型.pptx 第5章 Python正则表达式.pptx 第6章 Python函数.pptx 第7章 Python模块.pptx 第8章 Python类和对象.pptx 第9章 Python异常.pptx 第10章 Python文件操作....
清华大学精品Python学习PPT课件-第3章 Python流程控制.pptx 清华大学精品Python学习PPT课件-第4章 Python组合数据类型.pptx 清华大学精品Python学习PPT课件-第5章 Python正则表达式.pptx 清华大学精品Python学习PPT...
下载死慢的python3.9.13.exe
Python有两个主要版本:Python 2.x和Python 3.x。Python 2.7.6是在Python 2系列中的一个稳定版本,发布于2013年,旨在提供编程接口和执行环境。然而,自2020年1月1日起,Python 2已不再接受官方支持,建议升级到...
3. 使用`python27_d.lib`编译的扩展模块可以在调试环境中与`python27_d.dll`无缝配合,方便调试。 总结来说,Python 2.7.5源码、`python27_d.dll`和`python27_d.lib`是Python在Windows平台开发中的关键元素。源码...
python第五章.zip
Python解析DBC文件,主要依赖于第三方库,如`canmatrix`。`canmatrix`是一个强大的工具,支持读取、修改和导出DBC文件,以及进行DBC相关的计算和转换。安装这个库可以使用以下命令: ```bash pip install canmatrix...
第3章 列表、元组和字典的基本操作.ppt 第4章 熟练操作字符串.ppt 第5章 程序的控制结构.ppt 第6章 函数.ppt 第7章 对象与类.ppt 第8章 程序调试和异常处理.ppt 第9章 模块与类库.ppt 第10章 日期和时间.ppt 第11章 ...
python_visual_animation.py: 使用Matplotlib画动态图实例 python_spider.py: 一个很“水”的Python爬虫入门代码文件 python_weibo.py: “史上最详细”的Python模拟登录新浪微博流程 python_lda.py: 玩点高级的--带...
Python第七章.xmind
Python第九章.ppt
Python第二章.ppt
Python中的`java.class`模块或者第三方库如`Jython`、`pycjava`等可以用于处理Java的Class文件。这些工具通常会解析Class文件的魔数、版本信息、常量池、字段、方法、接口、属性等组成部分,然后根据这些信息构建出...
它在Python的2.x系列中占据着重要地位,因为它是该系列最后一个主要的维护版本,之后社区的焦点转向了Python 3.x系列。这个tgz压缩包包含了Python 2.7.7的完整源代码,为开发者提供了深入学习、自定义编译和调试...
windwos环境下python 3.8系列32位安装包,仅推荐个人学习、开发、娱乐或者测试环境下使用。