#!/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)

python开发贴吧_python爬虫-贴吧相关推荐

  1. python开发的前景_python开发前景怎么样

    随着近几年Python的飞速发展,应用范围逐步趋于广泛,后端开发.前端开发.爬虫.金融量化分析.人工智能.自动化运维.自动化运维.大数据,Python都有涉及.Python相对其他编程语言来讲,语法较 ...

  2. python窗口显示表格_Python爬虫之GUI图表

    关于Python爬虫系列的这篇文章我很早就想写了,但由于我前两周一直在研究vscode插件开发方面,就没去写文章.所幸目前vscode插件开发的知识了解的差不多了,是时候写了,哈哈.需要说明的是,我并 ...

  3. python开发效率怎样_Python 的开发效率真的比 Java高吗?

    真的比Java高很高. 几个例子. 爬虫领域,几年前就用Scrapy抓百度,新浪,股吧等各种东西. 五分钟写好一个小爬虫,爽到暴有没有?当年我就是靠教人写爬虫...才骗到小妹妹跟我约会的. 文本处理, ...

  4. python 爬网站 实例_python爬虫实战:之爬取京东商城实例教程!(含源代码)

    前言: 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1 ...

  5. python sqlite3 带密码_Python爬虫+Flask,带你创建个网站!

    文化不分边界 人,为什么要读书?举个例子: 当看到天边飞鸟,你会说:"落霞与孤鹜齐飞,秋水共长天一色."而不是:"卧靠,好多鸟."; 当你失恋时你低吟浅唱道:& ...

  6. python开发工具管理系统_Python开发桌面软件文档及网址管理工具,强迫症的福音...

    原标题:Python开发桌面软件文档及网址管理工具,强迫症的福音 写在前面 这两天用python鼓捣开发了一个软件,分享给同事,觉得很实用,可以大大提高工作效率,想通过平台分享出来给大家 希望给爱好p ...

  7. python 开发视频播放网站_python开发微电影视频网站教程附源码

    做为一个合格的Pythoner,只掌握一个框架是不够,如果你有过其它Python框架(例如django)的使用经验,对比不同框架的特性来学习,你将收获更多 当前信息若含有黄赌毒等违法违规不良内容,请点 ...

  8. python开发桌面时钟_python基于Kivy写一个图形桌面时钟程序

    Kivy 是一个开源的 Python 第三方库,可以用来快速开发应用程序. 它有如下三个特点: 跨平台 Kivy 编写的程序可在 Linux,Windows,OS X,Android,iOS 和 Ra ...

  9. python开发webservice服务_Python开发WebService系列教程之REST,web.py,eurasia,Djan

    在Bioinformatics(生物信息学)领域,WebService是很重要的一种数据交换技术,未来必将更加重要.目前EBI所提供的WebService就分别有SOAP和REST两种方式的服务,不管 ...

  10. python开发工程师工资_Python开发工程师工资一般多少钱

    Python工程师工资多少钱,相信每一个想要踏入Python开发行业的人都想知道这样一个问题,一个行业的薪资标准代表了它繁荣与否也代表了自己职业的未来的发展.下面就让我们来看一下一般Python开发工 ...

最新文章

  1. 如何在迭代时从列表中删除项目?
  2. 分享一套主流框架源码资料,征服阿里 P7 面试必备!
  3. win10设置默认打开方式
  4. db2和mysql语句区别_db2和mysql语法的区别是什么
  5. docker 全部杀掉
  6. 联想小新13pro锐龙版网卡_12G大内存 联想小新Air 14锐龙版仅售3799
  7. webassembly类型_WebAssembly 现状与实战
  8. 马斯克为何不惜激怒众“韭菜”?
  9. directshow-faac编码
  10. mysql char 二进制_SQL:char 和 varchar、binary 和 varbinary、二进制字符串、严格模式、汉字编码方式...
  11. GeoServer注意点
  12. asp.net 2.0 中如何让membership接口使用自定义数据库。
  13. 如何使用go读写excel
  14. java两种绑定方式_java两种单例模式用法分析
  15. 真分布式SolrCloud+Zookeeper+tomcat搭建、索引Mysql数据库、IK中文分词器配置以及web项目中solr的应用(1)
  16. 在线URL编码加密工具
  17. 薄透镜焦距的计算公式
  18. 基于PCA的图像压缩及人脸识别算法
  19. MT7682参考手册,MT7682芯片资料介绍
  20. APP下载链接在微信内打不开显示已停止访问该网页怎么办?

热门文章

  1. python源码中的pass
  2. 书店管理系统课程设计( sql server+python)
  3. IT人的第一份简历(Word版 、Markdown版、PDF版,静动态网页版)
  4. python获取当前时间戳_Python获取时间戳代码实例
  5. DateTimeFormatter获取时间戳
  6. 创科视觉软件说明书_机器视觉入门指南
  7. 拉格朗日法建立动力学方程
  8. 线性回归之最小二乘法公式推导和原理介绍
  9. win10录屏_99%的人都忽略Windows自带的录屏软件,超好用!
  10. 8. 机器人正运动学---DH坐标系建立技巧