python简单爬虫手机号_Python爬虫:大家用公共的手机号干了啥?
说明:本文所提供的思路和代码都只用于个人测试研究之用,并未对目标网站造成实质性干扰,而且全部细节已经全部告知网站开发者,也请大家不要用于恶意用途。
在我的微信公众号“免费的临时手机号,用这些公用的手机号你可以注册一些好玩的(或者你懂的)网站和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爬虫:大家用公共的手机号干了啥?相关推荐
- python 正则表达式提取数据_Python爬虫教程-19-数据提取-正则表达式(re)
本篇主页内容:match的基本使用,search的基本使用,findall,finditer的基本使用,匹配中文,贪婪与非贪婪模式 Python爬虫教程-19-数据提取-正则表达式(re) 正则表达式 ...
- python爬虫代理服务器_Python爬虫之服务器:代理IP万能
最近很多同学租服务器用来学习爬虫,对于大部分小白来说,爬虫非常复杂.技术门槛很高.但我们可以通过爬虫获取大量的价值数据,经分析可以发挥巨大的价值,比如:豆瓣.知乎,爬取优质答案,筛选出各话题下热门内容 ...
- python是所谓的爬虫吗_Python爬虫,你是否真的了解它?
程序员有时候很难和外行人讲明白自己的工作是什么,甚至有些时候,跟同行的人讲清楚"你是干什么的"也很困难.比如我自己,就对Daivd在搞的语义网一头雾水.所以我打算写一篇博客,讲一下 ...
- python编程理论篇_Python爬虫入门实战之猫眼电影数据抓取(理论篇)
前言 本文可能篇幅较长,但是绝对干货满满,提供了大量的学习资源和途径.达到让读者独立自主的编写基础网络爬虫的目标,这也是本文的主旨,输出有价值能够真正帮助到读者的知识,即授人以鱼不如授人以渔,让我们直 ...
- python爬虫要点_Python爬虫知识点梳理
学任何一门技术,都应该带着目标去学习,目标就像一座灯塔,指引你前进,很多人学着学着就学放弃了,很大部分原因是没有明确目标,所以,在你准备学爬虫前,先问问自己为什么要学习爬虫.有些人是为了一份工作,有些 ...
- python scrapy爬虫电影_python爬虫如何用scrapy获取影片?
我们平时生活的娱乐中,看电影是大部分小伙伴都喜欢的事情.周围的人总会有意无意的在谈论,有什么影片上映,好不好看之类的话题,没事的时候谈论电影是非常不错的话题.那么,一些好看的影片如果不去电影院的话,在 ...
- python绩点计算_Python爬虫实战(3):计算大学本学期绩点
本篇目标 1.模拟登录学生成绩管理系统 2.抓取本学期成绩界面 3.计算打印本学期成绩 1.URL的获取 先贴一个URL,让大家知道学校学生信息系统的网站构架,主页是http://jwxt.sdu.e ...
- python爬虫课件_Python爬虫教学视频(附课件)
python爬虫的基础概述什么是爬虫 网络爬虫,即Web Spider,是一个很形象的名字.把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的 ...
- python爬虫多进程_Python爬虫技术--基础篇--多进程
要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识. Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊.普通的函数调用,调用一次,返回 ...
最新文章
- 2017 [六省联考] T5 分手是祝愿
- 计算机桌面反应慢,Windows7电脑反应慢的解决方法
- POI的入门:单元格样式处理
- 约瑟夫环问题---循环单链表
- 利用perspective 和 transform 里面的几个参数来实现旋转照片墙
- DULG uboot解决问题的文档
- 设计模式(Python)-观察者模式
- 如何把IDEA项目与上传到Git中
- iMovie for Mac如何创建分屏效果?
- 企业微信API使用基本教程
- Ubuntu 12.04 使用基本配置
- WAV转MP3格式最简单的方法[zz]
- python数字金额转换为中文大写金额
- java tic tac toe_java – 对Tic Tac Toe的建议
- SAP中发票校验凭证与取消发票校验凭证的对应关系查询
- android app文件夹,android app文件目录结构
- 解析|拼多多爆红背后值得借鉴的思路
- 【PAT甲级】字符串处理及进制转换专题
- 固态硬盘寿命天梯榜 2021.7
- 杭电OJ 1013 数字根源