用python获取贴吧中留下的邮箱
来源:互联网 发布:win10的ps软件 编辑:程序博客网 时间:2024/04/29 12:11
正所谓得屌丝着得天下,贴吧就是屌丝们聚集的地方,有时候会看到楼主发一个福利帖子,然后下面留下几页的邮箱。这么多邮箱,收集起来就可以做一些邪恶的事情
我的思路:(我没有用多线程,如果你想大量收集的话,可以采用多线程)
1.获取首页的50个帖子的地址
2.进入每个帖子,获取帖子的页数
3.如果这个帖子第一页没有邮箱,就爬下一个帖子,免得浪费资源
4.我只是把邮箱打印出了,需要的话自己可以写进函数,存到自己的硬盘上
import urllibimport reimport threading #获得网页源码def getHtml(url): html=urllib.urlopen(url).read() return html#html是网页源码,regx是正则表达式def getRegx(html,regx): reg=re.compile(regx) result=re.findall(reg,html) return resultdef getMail(website): for i in range(10): ipn=i*50 url=website+'&pn=%d' % ipn #print '----第%d页-----' % i #获得每个帖子的网址 xurllist=getRegx(getHtml(url),url_regx) for i in range(len(xurllist)): xurl='http://tieba.baidu.com'+xurllist[i] #获得页数 pn=getRegx(getHtml(xurl),pn_regx) print '----------------------------' print '第%d个帖子,共有%d页' % (i,int(pn[0])) for j in range(1,int(pn[0])): #获得邮箱 pnurl=xurl+'?pn=%d' % j #print pnurl maillist=getRegx(getHtml(pnurl),mail_regx) #print '-----------------' print '--第%d页:' % j print '--网址:'+pnurl print '--邮箱个数:'+str(len(maillist)) #如果第一页每一邮箱就退出 if len(maillist)==0: break else: for mail in maillist: print mailif __name__=='__main__': #获取页数的正则 pn_regx=r'<span class="red">(.*?)<' #获取qq邮箱的正则 mail_regx=r'(\d{9,10}@qq\.com)' #获得每个帖子的正则 url_regx=r'<div class="threadlist_text threadlist_title j_th_tit notStarList "><a href="(.*?)"' url=raw_input('the website:') getMail(url)结果:
注意:
1.我获取的只有qq邮箱,我觉得qq邮箱的价值可能要高点
2.好像查看贴吧第二页的帖子需要登录,python模拟登录百度的源码,网上很多
0 0
- 用python获取贴吧中留下的邮箱
- python爬取某个贴吧帖子留下的邮箱,并自动发送相应链接
- 想玩Google + 的留下你的邮箱!
- 需要看扫雷代码的,可以留下邮箱
- Python之获取邮箱邮件
- python爬虫学习获取邮箱
- Python获取邮箱内容并解析
- 获取 Email 的通讯录邮箱
- 分享:我用一天时间开发的 新年送祝福 微信手机网站(可在线体验附图)(要代码的留下邮箱)
- 网站(人人、网易邮箱)给搜索引擎留下的接口,不可靠!
- 网易邮箱大师获取下载链接时的验证码的分析解决 python
- 搜狐邮箱的Python经验
- php用curl获取163邮箱的联系人
- 需要百度HI邀请的话留下邮箱
- python自动获取163邮箱的通讯录、收件箱中的寄件人和标题
- 使用Python模拟登录QQ邮箱获取QQ好友列表
- python模拟登陆163邮箱并获取通讯录
- Python模拟登陆163邮箱并获取通讯:
- 章子怡再否认汪峰求婚:烂编剧编假新闻
- 如何得到plsql中执行时报错的SQL的位置行号
- 实时开发框架Meteor 实际应用系列<一>---文件的上传和下载
- ubuntu 13.10 64 安装subclipse
- 装ubuntu遇到的一些问题 && solution
- 用python获取贴吧中留下的邮箱
- 计算器C++代码实现—— 中缀表达式的计算
- GOOSE入门
- 新的开始
- 【JAVA学习】java中==、equals()、hashCode()都和对象的比较有关,在java中这三者各有什么用处呢,即java中为什么需要设计这三种对象的比较方法呢?
- JSTL 核心标签库 使用
- Effective Java 第5条 避免创建不必要的对象
- CDH 4.6 Apache Hadoop的下一代mapreduce,yarn
- apt-get update message---------what do Ign Error Hit Get