【发布时间】:2019-04-17 02:38:09
【问题描述】:
我正在尝试获取与用户尝试访问的任何网站相关的信息。为了阻止任何恶意网站访问,我需要黑名单状态、IP 地址、服务器位置等详细信息。我是从 URLVOID 网站获得的。 https://www.urlvoid.com/scan/>
我正在以表格格式获得以下结果,并尝试在 spyder 中获取相同的结果。 See the Table
我正在使用正则表达式方法从表格中获取详细信息。
######
import httplib2
import re
def urlvoid(urlInput):
h2 = httplib2.Http(".cache")
resp, content2 = h2.request(("https://www.urlvoid.com/scan/" + urlInput), "GET")
content2String = (str(content2))
rpderr = re.compile('\<div\sclass\=\"error\"\>', re.IGNORECASE)
rpdFinderr = re.findall(rpderr,content2String)
if "error" in str(rpdFinderr):
ipvoidErr = True
else:
ipvoidErr = False
if ipvoidErr == False:
rpd2 = re.compile('(?<=Server Location</span></td><td>)[a-zA-Z0-9.]+(?=</td></tr>)')
rpdFind2 = re.findall(rpd2,content2String)
rpdSorted2=sorted(rpdFind2)
return rpdSorted2
urlvoid("google.com")
######
但是,它的效率并不高,而且此正则表达式不适用于所有网站。有没有更简单的方法来获取所有这些信息?
【问题讨论】:
-
如果你使用
bs4。这项工作可以更快、更容易地完成。此外,您在此站点中不需要硒。
标签: python regex beautifulsoup python-requests