Python抓取Discuz!用户名脚本代码


Posted in Python onDecember 30, 2013

最近学习Python,于是就用Python写了一个抓取Discuz!用户名的脚本,代码很少但是很搓。思路很简单,就是正则匹配title然后提取用户名写入文本文档。程序以百度站长社区为例(一共有40多万用户),挂在VPS上就没管了,虽然用了延时但是后来发现一共只抓取了50000多个用户名就被封了。。。
代码如下:

# -*- coding: utf-8 -*-
# Author: 天一
# Blog: http://www.90blog.org
# Version: 1.0
# 功能: Python抓取百度站长平台用户名脚本import urllib
import urllib2  
import re
import time
def BiduSpider():
     pattern = re.compile(r'<title>(.*)的个人资料  百度站长社区 </title>')
     uid=1
     thedatas = []
     while uid <400000:
         theUrl = "http://bbs.zhanzhang.baidu.com/home.php?mod=space&uid="+str(uid)
         uid +=1
         theResponse  = urllib2.urlopen(theUrl)
         thePage = theResponse.read()
         #正则匹配用户名
         theFindall = re.findall(pattern,thePage)
         #等待0.5秒,以防频繁访问被禁止
         time.sleep(0.5)
         if theFindall :
              #中文编码防止乱码输出
              thedatas = theFindall[0].decode('utf-8').encode('gbk')
              #写入txt文本文档
              f = open('theUid.txt','a')
              f.writelines(thedatas+'\n')
              f.close()
if __name__ == '__main__':
     BiduSpider()

最终成果如下:

Python抓取Discuz!用户名脚本代码

Python 相关文章推荐
python访问纯真IP数据库的代码
May 19 Python
Python中的字典遍历备忘
Jan 17 Python
在Python中实现贪婪排名算法的教程
Apr 17 Python
python实现单向链表详解
Feb 08 Python
pandas多级分组实现排序的方法
Apr 20 Python
Python延时操作实现方法示例
Aug 14 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
Oct 14 Python
python 有效的括号的实现代码示例
Nov 11 Python
Python 定义只读属性的实现方式
Mar 05 Python
numpy矩阵数值太多不能全部显示的解决
May 14 Python
Python连接mysql方法及常用参数
Sep 01 Python
python状态机transitions库详解
Jun 02 Python
python之模拟鼠标键盘动作具体实现
Dec 30 #Python
python多线程http下载实现示例
Dec 30 #Python
python正则匹配查询港澳通行证办理进度示例分享
Dec 27 #Python
python模拟登录百度代码分享(获取百度贴吧等级)
Dec 27 #Python
python读文件逐行处理的示例代码分享
Dec 27 #Python
python调用cmd复制文件代码分享
Dec 27 #Python
win7安装python生成随机数代码分享
Dec 27 #Python
You might like
php图片验证码代码
2008/03/27 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
简述php环境搭建与配置
2016/12/05 PHP
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
jquery为页面增加快捷键示例
2014/01/31 Javascript
jQuery对指定元素中指定字符串进行替换的方法
2015/03/17 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
javascript 动态生成css代码的两种方法
2017/03/17 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
2017/04/01 jQuery
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
JSON基本语法及与JavaScript的异同实例分析
2019/01/04 Javascript
JS集合set类的实现与使用方法示例
2019/02/01 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
vue子传父关于.sync与$emit的实现
2019/11/05 Javascript
解决Vue在Tomcat8下部署页面不加载的问题
2019/11/12 Javascript
30分钟搭建Python的Flask框架并在上面编写第一个应用
2015/03/30 Python
flask中使用蓝图将路由分开写在不同文件实例解析
2018/01/19 Python
Python使用pymysql模块操作mysql增删改查实例分析
2019/12/19 Python
python接口自动化如何封装获取常量的类
2019/12/24 Python
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
StubHub德国:购买和出售门票
2017/09/06 全球购物
COS美国官网:知名服装品牌
2019/04/08 全球购物
俄罗斯游戏商店:Buka
2020/03/01 全球购物
C,C++的几个面试题小集
2013/07/13 面试题
中青班党性分析材料
2014/02/16 职场文书
Python如何利用正则表达式爬取网页信息及图片
2021/04/17 Python
go类型转换及与C的类型转换方式
2021/05/05 Golang
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python