首页 > 代码库 > python 小爬虫的各种总结(一)
python 小爬虫的各种总结(一)
python真是一门非常优秀的语言,非常适合初学者,也非常适合写一些原型程序。这篇文章总结了下以前做的各种和网络相关的东西:自动登录、提取信息、模拟点击、模拟上传、取号等等,多亏了python才使世界变得那么美好!
本次我们主要是模拟浏览器下载网页,学会了下载网页其他的下载图片什么的都是一样的套路。先上代码:
#-*-coding:utf-8-*-‘‘‘Created on 2014-3-4@author: KL‘‘‘import urllib2import pyqueryimport sysimport pyqueryreload(sys)sys.setdefaultencoding(‘utf-8‘)headers = { ‘User-Agent‘:‘Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6‘ } def getContent(file,url,startPage,endPage): try: file.write(‘************************************************ ‘) file.write(str(startPage)) file.write(‘ ***************************************************************\r\n‘) for x in xrange(startPage,endPage+1): myUrl = url + str(x) req = urllib2.Request(url=myUrl,headers=headers) myHtml = pyquery.PyQuery(urllib2.urlopen(req).read()) for y in myHtml(‘div‘).next(): div = pyquery.PyQuery(y) if div.attr(‘title‘) == None: continue file.write(‘\r\n‘) file.write(div.attr(‘title‘)) file.write(‘\r\n‘) file.write(div(".content").text()) file.write(‘\r\n‘) file.write(‘\r\n‘) file.write(‘\r\n‘) file.write(‘\r\n‘) file.write(‘************************************************ ‘) file.write(str(x+1)) file.write(‘ ***********************************************************************\r\n‘) except urllib2.HTTPError,e: print "error occured "+e.reason except urllib2.URLError,e: print "error occured "+e.reasonif __name__ == ‘__main__‘: if len(sys.argv) < 2: print ‘Too less argvs‘ sys.exit() searchUrl = "http://www.qiushibaike.com/hot/page/" file = open("qiubai.txt",‘w‘) getContent(file,searchUrl,int(sys.argv[1]),int(sys.argv[2])) print "done"
其实主干代码就两句话(代码中的红色标出的),主要工作集中在html文档的解析过程,这里用的pquery是jquery的python移植,后面的文章会推荐更加强大的beautiful soup 真的是很Beautiful!(解析的这些都是第三方库,用起来很上手,你也可以自己用正则表达式去匹配)。
上面这一段代码主要是抓取糗百上面的热门事件,效果如下:
python 小爬虫的各种总结(一)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。