【发布时间】:2019-02-05 16:02:37
【问题描述】:
我有下面的代码。我需要它来从 html 页面中提取产品名称,这很好。然后,我需要它来匹配输入到列表中的一个元素并输出它的索引。即使存在诸如“Liquid Tee”之类的元素并且输入为“liquid”,它也不匹配它们。
如果您知道原因,我将不胜感激!
这是代码示例:
import urllib3
from bs4 import beautifulsoup
from lxml import etree
url = https://www.example.com
response = http.request('GET', url)
soup = BeautifulSoup(response.data)
keyword = input()
data = etree.HTML(str(soup))
all_names = data.xpath('//a[@class="name-link"]/text()')
namenumbered = [i for i, s in enumerate(all_names) if keyword in s]
【问题讨论】:
-
Python 中的字符串区分大小写,因此
'Liquid'将不匹配'liquid'。至于获取列表元素的索引,可以试试idx = my_list.index('my_string')。如果my_string不在my_list中,index将抛出错误。 -
@WolfgangK 谢谢 :)
标签: python-3.x beautifulsoup lxml