python discuz验证码_Python抓取Discuz!用户名脚本代码

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

代码如下:

代码如下:

# -*- coding: utf-8 -*-

# Author: 天一

# Blog:

# 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 = “?mod=spaceuid=”+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()

最终成果如下:

转载请注明:seo-网站优化-网站建设 » Python抓取Discuz!用户名脚本代码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值