【发布时间】:2019-04-19 20:31:43
【问题描述】:
我正在开发一个通过 html 代码尝试抓取 Tor 域的抓取工具。但是我在想出一段代码来匹配 tor 域时遇到了麻烦。
Tor 域通常采用以下格式:
或
我只想匹配页面中包含的 URL,格式为 http://sitetexthere.onion 或 https://sitehereitis.onion。这是在一堆可能不是 url 的文本中。它应该只是拉出网址。
我确信有一个简单或好的正则表达式可以做到这一点,但我一直找不到。如果有人能够链接一个或快速启动一个,那将不胜感激。非常感谢。
session = requests.session()
session.proxies = {}
session.proxies['http'] = 'socks5h://localhost:9050'
session.proxies['https'] = 'socks5h://localhost:9050'
r = session.get('http://facebookcorewwwi.onion')
print(r.text)
【问题讨论】:
-
匹配是什么意思?你只是想看看它是否以
onion结尾? -
是的,我只想匹配页面中包含的 URL,格式为 sitetexthere.onion 或 sitehereitis.onion。这是在一堆可能不是 url 的文本中。它应该只是拉出网址。
-
TOR 域是公钥的 base32 编码 SHA-1 散列的前半部分,来自带后缀“.onion”的 1024 位 RSA 密钥对。结果是 .onion 域名的长度为 16 个字符,并且只能包含小写字母 a 到 z 以及数字 2 到 7。source
标签: python regex python-3.x python-requests tor