Python编写百度贴吧的简单爬虫
操作:输入带分页的地址,去掉最后面的数字,设置一下起始页数和终点页数
功能:下载对应页码的所有页面并储存为HTML文件,以当前时间命名
代码:
# -*- coding: utf-8 -*- #---------------------------- # 程序:百度贴吧的小爬虫 # 日期:2015/03/28 # 语言:Python 2.7 # 操作:输入带分页的地址,去掉最后面的数字,设置一下起始页数和终点页数 # 功能:下载对应页码的所有页面并储存为HTML文件,以当前时间命名 #---------------------------- import urllib2 import time def baidu_tieba(url, start, end): for i in range(start, end): sName = time.strftime('%Y%m%d%H%M%S') + str(i) + '.html' print '正在下载第' + str(i) + '个网页,并将其储存为' + sName + '...' f = open(sName, 'w+') m = urllib2.urlopen(url+str(i)) n = m.read() f.write(n) f.close() print '成功下载' baiduurl = str(raw_input('请输入贴子的地址,去掉pn后面的数字>>\n')) begin_page = int(raw_input('请输入帖子的起始页码>>\n')) end_page = int(raw_input('请输入帖子的终止页码>>\n')) baidu_tieba(baiduurl, begin_page, end_page)
以上所述就是本文的全部内容了,希望能够对大家学习Python制作爬虫有所帮助。
相关推荐
-
Python爬虫正则表达式常用符号和方法
正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大.得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同:但不用担心,不被支持的语法通常是不常用的部分. 1.常用符号 . :匹配任意字符,换行符 \n 除外 :匹配前一个字符0次或无限次 ? :匹配前一个字符0次或1次 .* :贪心算法,尽可能的匹配多的字符 .*? :非
-
详解Python爬虫的基本写法
什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.想抓取什么?这个由你来控制它咯. 比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的超链接,那么它就可以爬到另一张网上来获取数据.这样,整个连在一起的大网对这之蜘蛛来说触手可及,分分钟爬下来不是事儿. 1.最基本的抓站 import urllib2 content = urllib2.urlopen('http://
-
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
1.安装BeautifulSoup4 easy_install安装方式,easy_install需要提前安装 easy_install beautifulsoup4 pip安装方式,pip也需要提前安装.此外PyPi中还有一个名字是 BeautifulSoup 的包,那是 Beautiful Soup3 的发布版本.在这里不建议安装. pip install beautifulsoup4 Debain或ubuntu安装方式 apt-get install Python-bs4 你也可以通过源码安
-
python实现爬虫统计学校BBS男女比例之数据处理(三)
本文主要介绍了数据处理方面的内容,希望大家仔细阅读. 一.数据分析 得到了以下列字符串开头的文本数据,我们需要进行处理 二.回滚 我们需要对httperror的数据进行再处理 因为代码的原因,具体可见本系列文章(二),会导致文本里面同一个id连续出现几次httperror记录: //httperror265001_266001.txt 265002 httperror 265002 httperror 265002 httperror 265002 httperror 265003 httper
-
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
接着第一篇继续学习. 一.数据分类 正确数据:id.性别.活动时间三者都有 放在这个文件里file1 = 'ruisi\\correct%s-%s.txt' % (startNum, endNum) 数据格式为293001 男 2015-5-1 19:17 没有时间:有id.有性别,无活动时间 放这个文件里file2 = 'ruisi\\errTime%s-%s.txt' % (startNum, endNum) 数据格式为2566 女 notime 用户不存在:该id没有对应的用户 放这个文件
-
使用Python的urllib和urllib2模块制作爬虫的实例教程
urllib 学习python完基础,有些迷茫.眼睛一闭,一种空白的窒息源源不断而来.还是缺少练习,遂拿爬虫来练练手.学习完斯巴达python爬虫课程后,将心得整理如下,供后续翻看.整篇笔记主要分以下几个部分: 1.做一个简单的爬虫程序 2.小试牛刀--抓取百度贴吧图片 3.总结 1.做一个简单的爬虫程序 首先环境描述 Device: Mba 2012 Yosemite 10.10.1 Python: python 2.7.9 编辑器: Sublime Text 3 这个没有什么好说的,直接上代
-
python3爬虫之入门基础和正则表达式
前面的python3入门系列基本上也对python入了门,从这章起就开始介绍下python的爬虫教程,拿出来给大家分享:爬虫说的简单,就是去抓取网路的数据进行分析处理:这章主要入门,了解几个爬虫的小测试,以及对爬虫用到的工具介绍,比如集合,队列,正则表达式: 用python抓取指定页面: 代码如下: import urllib.request url= "http://www.baidu.com" data = urllib.request.urlopen(url).read()# d
-
基于Python实现的百度贴吧网络爬虫实例
本文实例讲述了基于Python实现的百度贴吧网络爬虫.分享给大家供大家参考.具体如下: 完整实例代码点击此处本站下载. 项目内容: 用Python写的百度贴吧的网络爬虫. 使用方法: 新建一个BugBaidu.py文件,然后将代码复制到里面后,双击运行. 程序功能: 将贴吧中楼主发布的内容打包txt存储到本地. 原理解释: 首先,先浏览一下某一条贴吧,点击只看楼主并点击第二页之后url发生了一点变化,变成了: http://tieba.baidu.com/p/2296712428?see_lz=
-
python实现爬虫统计学校BBS男女比例(一)
一.项目需求 前言:BBS上每个id对应一个用户,他们注册时候会填写性别(男.女.保密三选一). 经过检查,BBS注册用户的id对应1-300000,大概是30万的用户 笔者想用Python统计BBS上有多少注册用户,以及这些用户的性别分布 顺带可以统计最近活动用户是多少,其中男.女.保密各占多少 活动用户的限定为"上次活动时间"为 2015年 二.最终结果 性别信息保存在文本里,一行表示一个用户的信息,各列分别表示 [行数,id(涂掉了),性别,最后活跃时间] 三.实现思路 用户性别
-
简单实现python爬虫功能
在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材. 我们最常规的做法就是通过鼠标右键,选择另存为.但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度.好吧-!其实你很厉害的,右键查看页面源代码. 我们可以通过python 来实现这样一个简单的爬虫功能,把我们想要的代码爬取到本地.下面就看看如何使用python来实现这样一个功能. 一.获取整个页面数据 首先我
-
python利用beautifulSoup实现爬虫
以前讲过利用phantomjs做爬虫抓网页 http://www.jb51.net/article/55789.htm 是配合选择器做的 利用 beautifulSoup(文档 :http://www.crummy.com/software/BeautifulSoup/bs4/doc/)这个python模块,可以很轻松的抓取网页内容 # coding=utf-8 import urllib from bs4 import BeautifulSoup url ='http://www.baidu.
随机推荐
- Java中的静态内部类详解及代码示例
- 使用documentElement正确取得当前可见区域的大小
- Linux 中的gunzip命令
- Asp.Net二级域名共享Forms身份验证、下载站/图片站的授权访问控制
- ajax Suggest类似google的搜索提示效果
- 在网页里看flash的trace数据的js类
- php禁止直接从浏览器输入地址访问.php文件的方法
- python Selenium爬取内容并存储至MySQL数据库的实现代码
- Android为应用添加数字角标的简单实现
- MYSQL事务回滚的2个问题分析
- 优化php效率,提高php性能的一些方法
- FireBug 调试JS入门教程 如何调试JS
- 浅谈Bootstrap的DatePicker日期范围选择
- MySQL修改root账号密码的方法
- 在地址栏里显示logo的实现方法
- 64位win7的IIS7下asp与access的连接问题
- Android波纹扩散效果之仿支付宝咻一咻功能实现波纹扩散特效
- ORA-00947:Not enough values (没有足够的值)的深入分析
- jQuery插件zTree实现单独选中根节点中第一个节点示例
- 教你一步步用jQyery实现轮播器