网页手机号抓取程序(免费的临时手机号,告别垃圾短信骚扰!(组图))
优采云 发布时间: 2021-12-22 21:13网页手机号抓取程序(免费的临时手机号,告别垃圾短信骚扰!(组图))
注:本文提供的思路和代码仅用于个人测试和研究,并未对目标网站造成实质性干扰,所有细节已通知网站的开发者,也请不要用于恶意用途。
在我的微信公众号“免费临时手机号,你可以用这些公共手机号注册一些好玩的(或者你知道的)网站和APP,不用担心个人信息泄露。免费临时手机号号码,与垃圾邮件骚扰说再见!
这个网站的域名是:
有了这些临时手机号,您可以: 对于需要注册下载信息的论坛,使用临时手机号注册,用完就可以离开。无需担心您的个人手机号码泄露。
接收信息需要填写手机号,可以使用临时手机号进行验证,收到信息后将不会收到商家回电~
许多网站或APP不支持注销账号。此时,您可以将绑定的手机号码更改为临时手机号码。不要忘记更改密码并清除其中的所有痕迹。从此,这笔账将与我无关。
有了这些匿名的公共手机号码,广大网友又会用什么呢?
只需点击一个手机号码的短信接收页面,就可以看到各种来源的短信验证码。我们可以很容易的看到这个手机号注册了哪些网站和APP,然后用手机验证码登录这些网站或者APP,说不定能看到很多有意思的内容哟。
令我惊讶的是,这个手机号码中的短信数量超过了23,000页。如果每页有 10 条短信,就会有超过 230,000 条短信。整个网站有这么多手机号。, 应该有大量的短消息存储在服务器上。强烈建议网站开发者可以删除很久以前的记录,只保留最近几天的记录。这样一方面可以缓解服务器压力,也可以防止一些无聊的人(比如我?)用爬虫爬取数据。什么,哈哈~
那就对了!为了查看大家用这个手机号注册了哪个网站或者APP,我用Python写了一个爬虫脚本,自动翻页抓取一些短信,然后解析信息的来源(通常是第一个大括号[])里面的内容,分析一下频率,说不定你能找到一些你没听说过的网站或者APP,哈哈。
下面是完整的代码,附上一些注释,理解无压力:
# 自动抓取云端短信网页上的验证码短信并分析来源
#青2019.03.21
#
*敏*感*词*重新
导入时间
*敏*感*词*请求
从 bs4 导入 BeautifulSoup
def get_page_info(link, f):
header={ # 假标题
'用户代理':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/4< @6.0.2490.80 Safari/537.36',
'推荐人':'#39;,
}
r = requests.get(link, headers=header)
汤 = BeautifulSoup(r.content, "html.parser")
table = soup.find_all("div", class_="sms-content-table") # 有两个sms-content-table表,第一个是最新的4条信息,第二个是全部信息。
infos = table[1].select('tbody tr')
有关信息中的信息:
content = info.find_all("td")[2].text[1:-1] # 去除开头和结尾的空格。这是每个短消息的内容,可以写入文件。
打印(内容)
打印("-"*30)
from_name = re.match(r'[(.*?)]', content) # 第一个大括号通常是源名称,使用最短匹配(.*?),否则默认(.*)为贪婪的匹配。
如果(来自_名称):
from_name = from_name.group(0)[1:-1] # 去掉左右大括号 []
# 打印(from_name)
f.write(from_name +'\n') # 逐行写入txt文件。实际上,您不需要写入文件。这主要是为了您自己的观看。
定义排序结果(文件名):
result = [] # 逐行读取文本文档中的源名称生成列表
with open(filename,'r') as f:
对于 f 中的行:
result.append(line.strip('\n').split(',')[0])
name_count = {} #定义一个元组,key是列表中的元素,key是出现的次数
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) # 根据key值从大到小排序Dict。
对于 sorted_dict 中的项目:
打印(项目[0] +':'+ str(项目[1]))
如果 __name__ =='__main__':
filename = "info.txt" # 指定保存数据的文本文件
f = 打开(文件名,'w')
for i in range(1,101): #自动翻页,这里可以设置需要抓取的页数(以100页为例)
打印("\n页%s\n"% i)