百度贴吧查人的python代码
smith2015/05/30软件综合 IP:广东
先说明一下,本代码主要用于编程学习,不要用于非法获取私人数据和进行人肉搜索,使用请尊重他人隐私

这是一段python代码,纯属训练所写,大侠莫喷。

其实我们在百度贴吧经常想要获取某个人的发帖纪录,不过如果对方设置了隐私的话,就会是这样: tieba.jpg
来自:计算机科学 / 软件综合
16
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
smith 作者
8年11个月前 IP:广东
771176
但其实我们还是可以获取到别人的信息的[s::lol],秘密就在最上方的高级搜索。
不过靠人手工去一个个获取也太麻烦了,我们来个高级一点的,写一段代码去获取。
工具就是python脚本,python的urllib很好用,个人认为python是一个强大的黑阔语言,必须要去学习的。
好了废话少说,下面介绍思路
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
smith作者
8年11个月前 IP:广东
771178
向这个url提交GET请求,就可以获得搜索的网页:


XXXXXXXXXXXXXXXXXXXXXX/f/search/ures?ie=utf-8&kw=&qw=&rn=30&un=xxx&pn=1



其中un=xxx 就是你要搜索用户ID,pn就是page id,[s::lol],接下来我们只要用正则表达式去搜索我们感兴趣的链接就行了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
smith作者
8年11个月前 IP:广东
771179
先实现一个获取总共有多少条发帖纪录的函数get_record_size,再实现一个获取每一页有多少帖子链接的函数get_urls_in_apage
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
smith作者
8年11个月前 IP:广东
771180
好了不多废话了,代码很少,直接贴出来!附件是完整代码

attachment icon tiebasearch.zip 0.70KB ZIP 30次下载
#!/usr/bin/env python

import re
import os
import sys
import time
import random
import urllib


def get_urls_in_apage(page):
   out = XXXXXndall(r'href\=\"\/p\/[^\s]*',page)
   for i in out:
      #print i
      t = "XXXXXXXXXXXXXXXXXXXXXX" + i[6:len(i)-1]
      print t
      cid = XXXXXndall(r'\#[^\s]*',t)
      ids = cid[0][1:]
      #print ids

  

def get_record_size(tname):
   urls = "XXXXXXXXXXXXXXXXXXXXXX/f/search/ures?ie=utf-8&kw=&qw=&rn=30&un="
   req = urllib.urlopen(urlstr + tname)
   web = XXXXXXad()
   totalsizestr = XXXXXndall(r's\_nav\_right hasPage[^\s]*',web)
   totalsize = XXXXXndall(r'[0-9][0-9]{0,}',totalsizestr[0])
   sizex = int(totalsize[0])
   return sizex

if __name__ == '__main__':
   urlstr = "XXXXXXXXXXXXXXXXXXXXXX/f/search/ures?ie=utf-8&kw=&qw=&rn=30&un="
   if(len(XXXXXXgv)==3 and XXXXXXgv[1] == '-k' ):
       namex = XXXXXXgv[2]
       sizex = get_record_size(namex)
       print "find all record size = " + str(sizex)
       rn = 30
       pn = sizex / rn
       print pn
       i = 1
       while i < pn:
          newurl = urlstr + namex +"&" + "pn=" + str(i)
          print newurl
          reqx = urllib.urlopen(newurl)
          web2 = XXXXXXXad()
          get_urls_in_apage(web2)
          i = i + 1
          if i > 76:
             break
          print str(i)
          XXXXXXXeep(1)
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
smith作者
8年11个月前 IP:广东
771184
使用方法:
1.安装python2.7的版本
2.打开cmd控制条或者linux控制条,cd 到代码的路径
3.执行python XXXXXXXXXXXXXX -k xxx> xxx.txt
这样就会把xxx这个百度贴吧ID的发帖纪录打到文件里面
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
smith作者
8年11个月前 IP:广东
771185
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
smith作者
8年11个月前 IP:广东
771186
下一步计划:
1.支持爬取发帖内容
2.支持新浪微博
3.支持腾讯微博
。。。。。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
8年11个月前 IP:四川
771187
python2.7至今还支持win2000。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
smith作者
8年11个月前 IP:广东
771188
引用 acmilan:
python2.7至今还支持win2000。。。
3.x不太好用
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
8年11个月前 IP:四川
771190
smith怎么崩溃了。。。
Windows 2000 Pro-2015-05-30-16-38-54.png
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
smith作者
8年11个月前 IP:广东
771191
引用 acmilan:
smith怎么崩溃了。。。
额,估计正则没写好,网页的内容太多没抓到内容。
多试几次试试
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
smith作者
8年11个月前 IP:广东
771192
引用 smith:
额,估计正则没写好,网页的内容太多没抓到内容。
多试几次试试
另外,我的百度ID怎么会是smith呢[s::lol]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
8年11个月前 IP:四川
771193
引用 smith:
另外,我的百度ID怎么会是smith呢
实际上smith这个百度ID并没有发什么贴。。。[s:20]看他的动态只有两贴,然而搜不出来
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
smith作者
8年11个月前 IP:广东
771195
引用 acmilan:
实际上smith这个百度ID并没有发什么贴。。。看他的动态只有两贴,然而搜不出来
其实对付人肉的方法很简单,要么不发帖,要么不断水贴,发些错误的地址,电话、QQ、邮箱等信息。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
acmilan
8年11个月前 IP:四川
771196
引用 smith:
另外,我的百度ID怎么会是smith呢
  totalsize = XXXXXndall(r'[0-9][0-9]{0,}',totalsizestr[0])
这一行你没有处理搜不到的情况,这时索引[0]并不存在。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
smith作者
8年11个月前 IP:广东
771197
thank you,我处理一下
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
smith
学者 机友 笔友
文章
183
回复
2266
学术分
4
2015/01/11注册,3时56分前活动

收音机爱好者

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:广东
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}