python爬虫吧-python爬虫-贴吧

#!/usr/bin/python

# coding=utf-8

# 作者 :Y0010026

# 创建时间 :2018/12/16 15:33

# 文件 :spider_03.py

# IDE :PyCharm

import urllib2 # 用于进行中文编码

import urllib # 用于进行爬虫核心处理

def load_url(url, file_name):

'''

作用:针对指定的url地址,进行数据的获取

:param url: 需要爬取的具体url地址

:param file_name: 要保存的文件名称;在当前函数中,只做提示使用

:return: 爬取的数据

'''

print ('开始爬取%s的内容' % file_name)

# 爬取程序

my_headers = {

'User-Agent': 'Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1'

}

requset = urllib2.Request(url, headers=my_headers)

content = urllib2.urlopen(requset).read()

print ('爬取%s的内容完成!' % file_name)

return content

def save_data(data, file_name):

'''

作用:主要用于进行数据存储

:param data: 要存储的数据

:param file_name: 要存储的文件名称

:return: 无

'''

print ('开始保存%s的内容' % file_name)

with open(file_name, 'w') as f:

f.write(data)

print ('保存%s的内容完成!' % file_name)

# 定义函数,进行爬虫的核心处理功能

def spider(url, kw, begin, end):

'''

作用:用于进行核心爬虫功能的调度

:param url: 要爬取的地址

:param kw: 贴吧名称

:param begin: 起始页码

:param end: 结束页码

:return: 无

'''

for page in range(begin, end + 1):

# 计算需要的页码

pn = (page - 1) * 50

# 进行kw参数的编码

kw = urllib.urlencode({'kw': kw})

# 拼接url地址

full_url = url + kw + '&pn=' + str(pn)

# 定义一个保存文件的名称

file_name = '网页' + str(page) + '.html'

# 开始爬取数据

html = load_url(full_url, file_name)

# 保存数据到文件

save_data(html, file_name)

# 主程序运行入口

if __name__ == '__main__':

# 用户数据相关数据

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

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

begin = int(raw_input('请输入开始页码:'))

end = int(raw_input('请输入结束页码:'))

# 调用爬虫开始执行

spider(url, kw, begin, end)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值