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实现bitmap数据结构详解
Feb 17 Python
Python判断操作系统类型代码分享
Nov 22 Python
Python脚本实现代码行数统计代码分享
Mar 10 Python
Python环境下安装使用异步任务队列包Celery的基础教程
May 07 Python
Python常用算法学习基础教程
Apr 13 Python
Python3实现简单可学习的手写体识别(实例讲解)
Oct 21 Python
python中ASCII码字符与int之间的转换方法
Jul 09 Python
解决pyinstaller打包pyqt5的问题
Jan 08 Python
python Pandas库基础分析之时间序列的处理详解
Jul 13 Python
tensorflow 实现自定义梯度反向传播代码
Feb 10 Python
Python Pandas list列表数据列拆分成多行的方法实现
Dec 14 Python
python基础入门之普通操作与函数(三)
Jun 13 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
PR值查询 | PageRank 查询
2006/12/20 PHP
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
PHP正确配置mysql(apache环境)
2011/08/28 PHP
浅谈php的优缺点
2015/07/14 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
JS获取下拉列表所选中的TEXT和Value的实现代码
2014/01/11 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
JavaScript实现自动变换表格边框颜色
2015/05/08 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
javascript每日必学之封装
2016/02/23 Javascript
Bootstarp 基础教程之表单部分实例代码
2017/02/03 Javascript
Java设计中的Builder模式的介绍
2018/03/22 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python 实现归并排序算法
2012/06/05 Python
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
Python基于DES算法加密解密实例
2015/06/03 Python
Python3标准库总结
2019/02/19 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
Luxplus荷兰:以会员价购买美容产品等,独家优惠
2019/08/30 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
学习新党章思想汇报
2014/01/09 职场文书
大学军训感言200字
2014/02/26 职场文书
运动会致辞稿
2015/07/29 职场文书
2016年端午节寄语
2015/12/04 职场文书
AJAX实现指定部分页面刷新效果
2021/10/16 Javascript
Java异常体系非正常停止和分类
2022/06/14 Java/Android