我正在尝试从任意网站上抓取 META 关键字和描述标签。我显然无法控制上述网站,所以必须接受我所得到的。它们有各种标签和属性的大小写,这意味着我需要不区分大小写。我无法相信 lxml 作者会固执地坚持完全强制标准合规性,因为它排除了对其库的大部分使用。
我想能够说doc.cssselect('meta[name=description]')
(或某些 XPath 等效项),但这不会捕获<meta name="Description" Content="...">
由于其他大写字母 D 的标签。
我目前正在使用它作为解决方法,但这太可怕了!
for meta in doc.cssselect('meta'):
name = meta.get('name')
content = meta.get('content')
if name and content:
if name.lower() == 'keywords':
keywords = content
if name.lower() == 'description':
description = content
似乎标签名称meta
不区分大小写,但属性不是。meta
如果区分大小写,那就更烦人了!