文章详情

专注互联网科技,赋能企业数字化发展

记录一次暗网论坛爬虫

作者:记录一次暗网论坛爬虫

最近在搞情报监测系统,暗网板块是其中一个重要板块,在这里分享长安不夜城这个暗网网站的爬虫。 遇到的问题及其解决方案: 1、503错误:遇到了请求数据包的检测,导致Request请求不合法。使用Playwright的page.request直接发起 API 请求进行数据爬取,无需requests库,完全复用浏览器环境,避免Cookie和请求头问题。(Playwright是Selenium的上位替代) 2、连接代理问题:由于暗网论坛只能通过 Tor 网络访问,而 Tor 浏览器本身难以自动化,因此我们采用 Playwright 启动普通浏览器,并将网络流量通过 Tor的 SOCKS5 代理转发 的方式,既绕过了Tor浏览器的加固限制,又实现了稳定的暗网访问。 详细流程如下: (1)playwright直接开启一个新的浏览器,使用proxy(代理)走Tor的Socket5端口(127.0.0.1:9150)。 (2)Tor浏览器通过VPN(V2rayN)走到Tor网络上,最终到达.onion。 3、登录流程复杂,需要进行两次登录验证,后面的请求需要携带前面的token。 详细流程如下: (1)抓取验证码数据包,获取他的URL和请求头(在代码中需要通过刷新页面来获取验证码) (2)用户输入验证码后调用 /api/loginChecking 获得 token。跳转到/api/public/welcome。 (3)抓取welcome的url、请求、响应,因为在代码中我们必须完全符合登录流程,如果直接请求登录数据包会失败。 (4)再次刷新页面获取新验证码,用户输入账号、密码、验证码后调用 /api/account/login,数据包中加入 Authorization: Bearer ,请求体包含账号密码和新验证码的 cid、code。 (5)抓取登录数据包,将URL、请求、响应全部抓下来 4、验证码:抓取验证码包后使用OCR光学扫描后自动输入,但是开源的识别率实在太低,直接改成手动输入(如果想要全自动就花钱买精度高的OCR或者试试AI识图) 5、定位网页元素:直接通过API定位。

返回新闻列表