Python贴吧爬虫urllib2的使用

直接贴代码了吧

-----------------------------------------------------

#!/usr/bin/env python

# -*- coding:utf-8 -*-

importurllib

importurllib2

defloadPage(url,filename):

"""

作用:根据url发送请求,获取服务器响应文件

url: 需要爬取的url地址

filename : 处理的文件名

"""

print"正在下载 "+ filename

headers = {"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"}

request = urllib2.Request(url,headers= headers)

returnurllib2.urlopen(request).read()

defwritePage(html,filename):

"""

作用:将html内容写入到本地

html:服务器相应文件内容

"""

print"正在保存 "+ filename

# 文件写入

withopen(filename,"w")asf:

f.write(html)

print"-"*30

deftiebaSpider(url,beginPage,endPage):

"""

作用:贴吧爬虫调度器,负责组合处理每个页面的url

url : 贴吧url的前部分

beginPage : 起始页

endPage : 结束页

"""

forpageinrange(beginPage,endPage +1):

pn = (page -1) *50

filename ="第"+str(page) +"页.html"

fullurl =url+"&pn="+str(pn)

#print fullurl

html = loadPage(fullurl,filename)

#print html

writePage(html,filename)

print"谢谢使用"

if__name__ =="__main__":

kw =raw_input("请输入需要爬取的贴吧名:")

beginPage =int(raw_input("请输入起始页:"))

endPage =int(raw_input("请输入结束页:"))

# http: // tieba.baidu.com / f?kw = python & fr = ala0 & tpl = 5

url ="http://tieba.baidu.com/f?"

key = urllib.urlencode({"kw": kw})

fullurl = url + key

tiebaSpider(fullurl,beginPage,endPage)


------------------------------------------------------------------


拷贝运行即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,198评论 19 139
  • 大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子。与上一篇不同的是,这次我们需...
    追不到的那缕风阅读 607评论 0 0
  • 本篇将介绍urllib2的Get和Post方法,更多内容请参考:python学习指南 urllib2默认只支持HT...
    小七奇奇阅读 2,643评论 0 3
  • 1 前言 作为一名合格的数据分析师,其完整的技术知识体系必须贯穿数据获取、数据存储、数据提取、数据分析、数据挖掘、...
    whenif阅读 18,125评论 45 523
  • 家乡,我再也不想回去了。 城市,我生活习惯了。我不屑与农村里那帮泥腿子的堂兄弟们打交道。每天,他们农活后背锹拿锄回...
    鱼教头阅读 863评论 18 26