我正在尝试创建一个脚本,用于检测给定的URL
是否指向Joomla
网站。
现在我有:
def is_joomla(url):
manifest = url + '/administrator/manifests/files/joomla.xml'
# get XML
if "joomla" in XML: # simplified
return True
return False
另一种选择是以小写字母检查html
中的Joomla字符串,但它不可靠。我知道有些Joomla页面无法被检测到,但大多数都应该被检测到。
还有其他迹象可以帮助我发现它是否是Joomla?我不在乎版本。
答案 0 :(得分:0)
我会检查不同的点,以确保您抓取的网页是一个joomla网站。
<meta name="generator" content="Joomla! - Open Source Content Management" />
我认为如果选项1和3返回true,您可以非常确定已爬网页面是一个joomla站点。选项2不保存,因为有些人可能会删除robots.txt。
答案 1 :(得分:0)
您可以通过简单检查网站上的响应代码(X-CF-Powered-By)来查看网站正在运行Joomla示例:
Antwort HTTP/1.1 200 OK
Date Fri, 28 Jul 2017 09:02:35 GMT
Content-Type text/html; charset=utf-8
Transfer-Encoding chunked
X-CF-Powered-By CF-Joomla 0.1.5
P3P CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Expires Wed, 02 Aug 2017 09:02:35 GMT
答案 2 :(得分:-1)
在继续之前,您需要建立连接,直到此html文件不在磁盘中。除此之外,您可以使用BeautifulSoup来解析它并使用您正在寻找的标签。