首页
关于
Search
1
seafile pro 11.0安装踩坑记录
40 阅读
2
GitHub+Coding双线部署的Hexo静态博客搭建
18 阅读
3
年度数字账单
15 阅读
4
再谈知识管理方案:Obsidian本地 + Typecho云端
13 阅读
5
Alist 疑似被收购,用户需谨慎更新v3.45.0
11 阅读
技术
生活
科研
登录
Search
标签搜索
博客
Backblaze
知识管理
obsidian
S3
B2
Seafile
VPS
服务器
Docker
Cloudreve
私人网盘
云存储
typecho
邮箱
腾讯
python
爬虫
计算机网络
Android
Momoko
累计撰写
12
篇文章
累计收到
0
条评论
首页
栏目
技术
生活
科研
页面
关于
搜索到
7
篇与
生活
的结果
2021-09-04
qq邮箱二代密保
问题描述在尝试通过IMAP登录QQ邮箱时,会提示需要输入授权码,而授权码的设置需要进行密保验证,且提示要求设置二代密保。看到提示想当然的就会以为自己没设置二代密保,但登录qq安全中心后显示密保已设置,且无二代密保相关入口或提示,腾讯相关文档搜索只有相关文字描述也没有链接入口(疑似页面改版后文档未更新)。网络查找关键字“QQ邮箱二代密保”后,发现都是些二代密保申诉的教程,都不涉及邮箱授权码。问题解决尝试了最新版QQ、QQ邮箱等软件的安全中心入口,均无法找到二代密保相关信息,误打误撞之下发现了二代密保其实就是动态安全密码!!!腾讯的帮助文档真的写的和shi💩一样下载腾讯安全中心(等待漫长的初始化)即可设置,此时等待一会重试即可。
2021年09月04日
8 阅读
0 评论
0 点赞
2021-05-20
NGA论坛IP数据爬虫及分析
前言NGA论坛刚刚开放了用户IP显示功能,早就想查查泥潭精英充分的我连夜花费数个小时写了个IP爬虫出来,看看都是哪些人在泥潭大漩涡板块活跃爬虫包与headers首先是配置headers:import requests as req from lxml import etree import numpy as np import time import re headers = { # 在浏览器中,network查看 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.62', 'Cookie': '', 'Connection':'close', } # API文档参考 https://github.com/wolfcon/NGA-API-Documents版面页然后是从网事杂谈板块前几页的爬取到各个帖子的链接(API接口参数可查看文档)F12查找到对应元素(不准确,需要自行修改)方便抓取链接。urls = [] # 保存页面uid limit = 5 # 版面页数,请勿设置过多 for i in range(1,limit+1): # 获取近期网事杂谈板块回复前limit页中的帖子地址 time.sleep(1) mainPage = req.get('https://bbs.nga.cn/thread.php?fid=-7&order_by=lastpostdesc&page='+str(i),headers=headers,verify=False) doc = etree.HTML(mainPage.text) pages_url = doc.xpath('//td[@class="c1"]/a') # 查找对应元素 for pg in pages_url: r = re.search(r'[0-9]+',pg.attrib['href']).group() # 帖子uid urls.append(r) print('no.'+str(i)+' : '+str(r))之后对抓取到的主题贴进行去重urls = set(urls) # 帖子去重,注意此处顺序被打乱 urls = list(urls) print(len(urls))主题页之后获取到主题贴第一页(默认)的内容,找到对应结果计算帖子页数,并获取到每页的用户uid, 用户uid可去重可不去重。 uid = [] for item in urls: # 帖子中用户uid获取 time.sleep(1) page_url = 'https://bbs.nga.cn/read.php?tid='+str(item)+'&lite=js' # 获取当前帖子页数 mainPage = req.get(page_url,headers=headers,verify=False) txt = str(mainPage.text).replace('window.script_muti_get_var_store=','') Rows = re.findall(r'"__ROWS"\:[0-9]+',txt) if Rows: # nga一小部分帖子js只传一半 pass else: continue pageNum = int(int(Rows[0].replace('"__ROWS":',''))/20 + 1) # 当前帖子页数 print(str(item)+" pages: "+str(pageNum)) if pageNum>100: #去除超过100页的帖子 continue for i in range(1,pageNum+1): # 用户uid获取 u = page_url+'&page='+str(i) mainPage = req.get(u,headers=headers,verify=False) txt = str(mainPage.text).replace('window.script_muti_get_var_store=','') tmp = re.findall(r'"uid"\:[0-9]+',txt) flag = 0 for t in tmp: if(flag==0): flag=1 continue i = t.replace('"uid":','') uid.append(i)用户IP获取通过uid查到用户信息,并筛出ipLoc数据:url = 'https://bbs.nga.cn/nuke.php?lite=js&__lib=ucp&__act=get&uid=' # 用户IP查询 ips = [] # 保存ip nums = 0 for person in uid: time.sleep(0.1) person_page_url = url + person mainPage = req.get(person_page_url,headers=headers,verify=False) txt = str(mainPage.text).replace('window.script_muti_get_var_store=','') tmp = re.findall(r'"ipLoc"\:"[\u4e00-\u9fa5]+',txt) # 正则查找 if tmp: # nga有概率js只传一半 pass else: continue tmp = tmp[0].replace('"ipLoc":"','') ips.append(tmp) print(nums,tmp) # 输出当前位置,方便网络中断后继续运行 nums = nums+1 with open('.\\area.txt', mode='a',encoding='utf-8') as f: # 写入文件保存 for i in ips: f.write(i+'\n')结果处理对结果进行相应处理,作图。
2021年05月20日
6 阅读
0 评论
0 点赞
1
2