尚未找到专门针对此想法的解决方案,所以这是我的问题。
我有一个关键字列表,希望与网站上的抓取字符串匹配。此列表存储在自己的Python文件“关键字”中,其内容如下:
keywords = [
"FDA",
"Contract",
"Vaccine",
"Efficacy",
"SARS",
"COVID-19",
"Cancer",
"Exclusive",
"Explosive",
"Hydrogen",
"Positive",
"Phase"
]
文件已导入,要访问此列表,我可以使用Keywords.keywords
。
#1将关键字与字符串匹配:
我想检查抓取的字符串是否article_title = item.select_one('h3 small').find_next_sibling(text=True).strip()
包含这些关键字之一。如果可以,我想搜索更多内容(已经获取了代码)。否则,我将返回for循环的开头并搜索下一个标题。
以下是字符串输出的示例article_title
:
Global Water and Sewage Market Report (2021 to 2030) - COVID-19 Impact and Recovery
Blackbaud CEO Mike Gianoni Named One of 50 Most Influential by Charleston Business Magazine
Statement from Judy R. McReynolds on Signing of HR1319, the American Rescue Plan Act of 2021
仅搜索整个单词,将关键字列表与字符串匹配的最佳方法是什么?我在SO上发现了多种方法,但是它们似乎都存在人们指出的缺陷,这使我感到困惑。
#2将找到的关键字存储在变量中:
当与关键字匹配时,如果发现关键字,我会将找到的article_title
变量和其他变量存储在数据库中。但是,我也想将导致输入的关键字存储在数据库中。这使我知道找到每个关键字的次数。我存储find关键字的变量应称为article_keyword
。有没有一种方法不仅可以将关键字与字符串匹配,还可以存储找到的关键字?如果是,我将很高兴为您提供帮助。
如果所提供的信息还不够,请在评论中告诉我,然后添加完整的代码。只是出于简短问题而省略了它。
您可以遍历列表,并使用'in'运算符,我们可以检查它是否存在于字符串中:
strings = ["Global Water and Sewage Market Report (2021 to 2030) - COVID-19 Impact and Recovery", "Blackbaud CEO Mike Gianoni Named One of 50 Most Influential by Charleston Business Magazine", "Statement from Judy R. McReynolds on Signing of HR1319, the American Rescue Plan Act of 2021"]
keywords = [
"FDA",
"Contract",
"Vaccine",
"Efficacy",
"SARS",
"COVID-19",
"Cancer",
"Exclusive",
"Explosive",
"Hydrogen",
"Positive",
"Phase"
]
article_keywords = {}
for string in strings:
for word in keywords:
if word in string:
article_keywords[string] = word
break
print(article_keywords)
在字典(article_keywords
)中,键是字符串,值是找到的第一个关键字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句