说明:本文所提供的思路和代码都只用于个人测试研究之用,并未对目标网站造成实质性干扰,而且全部细节已经全部告知网站开发者,也请大家不要用于恶意用途。

在我的微信公众号“免费的临时手机号,用这些公用的手机号你可以注册一些好玩的(或者你懂的)网站和APP,而不用担心个人信息的泄露。免费临时手机号,告别垃圾短信骚扰!​mp.weixin.qq.com

这个网站的域名是:

有了这些临时手机号,你就可以:对于需要注册才可以下载资料的论坛,就用临时手机号注册一下,用完即走,完全不用担心个人手机号的泄露。

需要填手机号才可以领取资料什么的,就可以用临时手机号来验证,领取资料之后就不会收到商家的电话回访啦~

很多的网站或者APP不支持注销账号,这时就可以将绑定的手机号换成临时手机号,同时别忘了把密码也改掉,清空里面的全部痕迹,从此这个账号与自己再无瓜葛。

有了这些匿名的公共手机号,广大网友都会用来干什么呢?

随便点开一个手机号的短信接收页面,可以看到有来自各个来源的短信验证码。我们可以很容易看到这个手机号已经注册了哪些网站和APP,然后使用手机验证码方式即可登录这些网站或者APP,说不定还可以看到非常多有趣的内容哟。

令我吃惊的是,这一个手机号的短信条数居然有两万三千多页,每一页10条的话,就有 23 万多条的短信,整个网站有那么多手机号,服务器上面应该存储了海量的短信。强烈建议网站开发者可以把很久之前的记录删除,只保留最近几天的,这样一方面可以缓解服务器压力,也可以避免某些无聊的人(例如我?)用爬虫爬数据玩啥的,哈哈~

没错!为了看看大家都用这个手机号注册了哪些网站或者APP,我用 Python 写了一个爬虫脚本,自动翻页抓取了一些短信内容,然后解析出其中信息来源(一般就是第一个大括号【】里面的内容),分析一下频次,说不定还可以找到一些没有听过的网站或者APP,哈哈。

下面就是完整的代码,有一些注释,看懂无压力:

# 自动抓取云短信网页上的验证码短信并分析来源

# Tsing 2019.03.21

# https://zhuanlan.zhihu.com/tsing

import re

import time

import requests

from bs4 import BeautifulSoup

def get_page_info(link, f):

header={ # 伪造 headers

'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',

'Referer':'https://www.pdflibr.com',

}

r = requests.get(link, headers=header)

soup = BeautifulSoup(r.content, "html.parser")

table = soup.find_all("div", class_="sms-content-table") # 有两个 sms-content-table 的 table,第一个是最新的4条信息,第二个是全部的信息。

infos = table[1].select('tbody tr')

for info in infos:

content = info.find_all("td")[2].text[1:-1] # 首尾各去掉空格,这就是每一条短信的内容啦,可以写入文件里面哈。

print(content)

print("-"*30)

from_name = re.match(r'【(.*?)】', content) # 第一个大括号里面一般就是来源名称,采用(.*?)进行最短匹配,不然默认的(.*)是贪婪匹配。

if(from_name):

from_name = from_name.group(0)[1:-1] # 去掉首尾的大括号【】

# print(from_name)

f.write(from_name + '\n') # 逐行写入txt文档,其实也可以不用写入文件,这里主要是方便自己查看。

def sort_result(filename):

result = [] # 逐行读取文本文档中的来源名称,生成list

with open(filename,'r') as f:

for line in f:

result.append(line.strip('\n').split(',')[0])

name_count = {} # 定义一个元组,键名为list中的元素,键值为出现的次数

for i in set(result): # set 用于去除重复元素。

name_count[i] = result.count(i)

sorted_dict = sorted(name_count.items(), key=lambda d:d[1], reverse = True) # 按照键值对 Dict 进行从大到小排序。

for item in sorted_dict:

print(item[0] + ': ' + str(item[1]))

if __name__ == '__main__':

filename = "info.txt" # 指定一个文本文件保存数据

f = open(filename,'w')

for i in range(1,101): # 自动翻页,这里可以设定需要抓取多少页(示例是100页)

print("\n第%s页\n" % i)

link = "https://www.pdflibr.com/SMSContent/1?page=" + str(i)

get_page_info(link, f)

time.sleep(4) # 不要频率太快,不然容易被封IP

f.close()

print('\r\n各个来源出现的频次分别为:\r\n')

sort_result(filename)

作为测试,我只抓取了某个手机号的前 100 页的短信,而且每次抓取都间隔了 4 秒,主要是不想给对方的服务器增加太大压力,也避免自己被封 IP。而且网站的开发者最近也在研究反爬虫技术,所以大家看看就好,不要自己运行脚本哈。

好,代码运行起来!可以看到所有的短信都显示出来啦~

最后,直接输出了各个来源出现的频次,居然有人用这个点饿了么外卖?大家可以通过手机验证码登录看看,这个(些)人都点了哪些地方的外卖,哈哈~

还出现了【小姐姐】、【SoulAPP】、【珍爱网】、【Mua】这些看名字就知道是干什么的来源,大家也可以登录去看看,说不定有很多发现哟。

最后说一句,这个网站是真的非常良心!目前,我已经联系了网站的开发者黄兵,并把这篇文章发给了他,公开技术是为了他更好地防御,希望他可以重视一下这种爬虫其实对网站也是有很大威胁的,然后做出相应的反制措施。最后祝这个网站越来越好,一直办下去~

也欢迎给该站点的开发者打赏支持,作者会购更多的手机卡来满足更多人的需求。

python简单爬虫手机号_Python爬虫:大家用公共的手机号干了啥?相关推荐

  1. python 正则表达式提取数据_Python爬虫教程-19-数据提取-正则表达式(re)

    本篇主页内容:match的基本使用,search的基本使用,findall,finditer的基本使用,匹配中文,贪婪与非贪婪模式 Python爬虫教程-19-数据提取-正则表达式(re) 正则表达式 ...

  2. python爬虫代理服务器_Python爬虫之服务器:代理IP万能

    最近很多同学租服务器用来学习爬虫,对于大部分小白来说,爬虫非常复杂.技术门槛很高.但我们可以通过爬虫获取大量的价值数据,经分析可以发挥巨大的价值,比如:豆瓣.知乎,爬取优质答案,筛选出各话题下热门内容 ...

  3. python是所谓的爬虫吗_Python爬虫,你是否真的了解它?

    程序员有时候很难和外行人讲明白自己的工作是什么,甚至有些时候,跟同行的人讲清楚"你是干什么的"也很困难.比如我自己,就对Daivd在搞的语义网一头雾水.所以我打算写一篇博客,讲一下 ...

  4. python编程理论篇_Python爬虫入门实战之猫眼电影数据抓取(理论篇)

    前言 本文可能篇幅较长,但是绝对干货满满,提供了大量的学习资源和途径.达到让读者独立自主的编写基础网络爬虫的目标,这也是本文的主旨,输出有价值能够真正帮助到读者的知识,即授人以鱼不如授人以渔,让我们直 ...

  5. python爬虫要点_Python爬虫知识点梳理

    学任何一门技术,都应该带着目标去学习,目标就像一座灯塔,指引你前进,很多人学着学着就学放弃了,很大部分原因是没有明确目标,所以,在你准备学爬虫前,先问问自己为什么要学习爬虫.有些人是为了一份工作,有些 ...

  6. python scrapy爬虫电影_python爬虫如何用scrapy获取影片?

    我们平时生活的娱乐中,看电影是大部分小伙伴都喜欢的事情.周围的人总会有意无意的在谈论,有什么影片上映,好不好看之类的话题,没事的时候谈论电影是非常不错的话题.那么,一些好看的影片如果不去电影院的话,在 ...

  7. python绩点计算_Python爬虫实战(3):计算大学本学期绩点

    本篇目标 1.模拟登录学生成绩管理系统 2.抓取本学期成绩界面 3.计算打印本学期成绩 1.URL的获取 先贴一个URL,让大家知道学校学生信息系统的网站构架,主页是http://jwxt.sdu.e ...

  8. python爬虫课件_Python爬虫教学视频(附课件)

    python爬虫的基础概述什么是爬虫 网络爬虫,即Web Spider,是一个很形象的名字.把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的 ...

  9. python爬虫多进程_Python爬虫技术--基础篇--多进程

    要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识. Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊.普通的函数调用,调用一次,返回 ...

最新文章

  1. 2017 [六省联考] T5 分手是祝愿
  2. 计算机桌面反应慢,Windows7电脑反应慢的解决方法
  3. POI的入门:单元格样式处理
  4. 约瑟夫环问题---循环单链表
  5. 利用perspective 和 transform 里面的几个参数来实现旋转照片墙
  6. DULG uboot解决问题的文档
  7. 设计模式(Python)-观察者模式
  8. 如何把IDEA项目与上传到Git中
  9. iMovie for Mac如何创建分屏效果?
  10. 企业微信API使用基本教程
  11. Ubuntu 12.04 使用基本配置
  12. WAV转MP3格式最简单的方法[zz]
  13. python数字金额转换为中文大写金额
  14. java tic tac toe_java – 对Tic Tac Toe的建议
  15. SAP中发票校验凭证与取消发票校验凭证的对应关系查询
  16. android app文件夹,android app文件目录结构
  17. 解析|拼多多爆红背后值得借鉴的思路
  18. 【PAT甲级】字符串处理及进制转换专题
  19. 固态硬盘寿命天梯榜 2021.7
  20. 杭电OJ 1013 数字根源

热门文章

  1. 【buildroot】下载软件包太慢
  2. uView 扩展图标(使用阿里iconfont图标)
  3. unity发布安卓黑屏_untiy3dAndroid和ios启动游戏黑屏界面增加闪屏处理
  4. HashMap与HashTable
  5. CPU接触不良故障排除
  6. linux top命令详解
  7. 关于图片验证码Kaptcha的应用
  8. 漫步者蓝牙自动断开_工作生活全匹配,漫步者DreamPods骨传降噪蓝牙耳机体验
  9. 微信小程序案例---本地生活
  10. js获取当前时间戳以及前一天时间戳