版本:v1.0
摘要
本文是针对Python的中级开发人员,介绍如何用Python语言去实现抓取网站,模拟登陆,抓取动态网页。其中主要涉及到,网络处理方面的模块(urllib,urllib2等),以及HTML解析相关的模块(BeautifulSoup,json等)。
本文提供多种格式供: | |
---|---|
HTML版本的在线地址为: 有任何意见,建议,提交bug等,都欢迎去讨论组发帖讨论: http://www.crifan.com/bbs/categories/python_topic_web_scrape/ |
2013-02-06
修订历史 | ||
---|---|---|
修订 1.0 | 2013-02-06 | crl |
|
版权 © 2013 Crifan, http://crifan.com
讨论如何用Python去实现,网站抓取,模拟登陆,抓取动态网页的话,前提是你需要对这部分的逻辑已经比较清楚了。
如果不清楚,请先去参考:
其实,对于urllib等库,已经做得够好了,尤其是易用性上,已经很方便使用了。
比如,直接可以通过如下代码,即可获得从网页的地址,而得到其网页的源代码了
TODO:add code
但是呢,由于实际上,和网页抓取,网页模拟登陆等方面,需要用到cookie,以及其他header参数,导致想要获得一个,功能强大且好用的,用于网络抓取方面的函数,则还是需要额外花很多功夫的
而我后来就是在折腾网络抓取方面,前前后后,经过实际使用而积累出来很多这方面的经验,最终,写了个相关的,功能更加强大一些,更加方便使用的函数的。主要是2个函数:
getUrlResponse和getUrlRespHtml
TODO:添加两个函数来自crifanLib的解释
TODO:再添加这两个函数的几种用法
TODO:再添加另外几个相关的函数的解释,包括downloadFile等函数
其实主要分两大方面:
一方面是把网站的内容抓取下来,涉及到和网络处理方面的模块
另外一方面是如何解析抓取下来的内容,即涉及到HTML解析等方面的模块
下面就来解释这两大方面相关的逻辑,以及如何用Python实现对应的这部分的功能。
主要涉及的一些,和网络处理方面有关的模块是,urllib,urllib2等
TODO:整理对应的,带urllib和urllib2方面的帖子进来。
Python中和解析抓取的网站内容,即解析HTML,JSON等方面,相关的模块有,BeautifulSoup,json等