Python 在Pyton中搜索词典内部

Python 在Pyton中搜索词典内部,python,dictionary,beautifulsoup,Python,Dictionary,Beautifulsoup,我正在使用python和一个我无法解决的字典。我在和一家字典公司合作。我正在尝试在所有media.items()中搜索字典单词的每个元素,然后打印出四行,两行用于media[0],两行用于media[1]。我做错什么了吗?有什么好办法吗?提前谢谢 import requests import time from bs4 import BeautifulSoup headers = { 'user-agent': "Mozilla/5.0 (Macintosh; Intel M

我正在使用python和一个我无法解决的字典。我在和一家字典公司合作。我正在尝试在所有media.items()中搜索字典
单词
的每个元素,然后打印出四行,两行用于
media[0]
,两行用于
media[1]
。我做错什么了吗?有什么好办法吗?提前谢谢

import requests
import time
from bs4 import BeautifulSoup

headers = {
    'user-agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"}


def count_words(url, the_word):
    r = requests.get(url, headers=headers)
    return r.text.lower().count(the_word)

def main():
  #  url = 'https://www.nytimes.com/'
    medias = {
        'Los Angeles Times': ['http://www.latimes.com/'],
        'New York Times': ['http://www.nytimes.com/']
    }

    word = 'trump'
    words = ['Trump', 'Facebook']

    print('--- Iniciando ---')
    print('Hora: ', time.strftime("%X"))
    for web_name, urls in medias.items():
        for url in urls:
            count = count_words(url, words)
            print('La palabra {} aparece {} veces en el sitio del {}.'.format(words, count, web_name))

if __name__ == '__main__':
    main()

您传递了一个列表,而您应该向
count
函数传递一个单词。

我在代码中修复了一些错误:

首先,在使用单词时忘记了循环数组,所以我在代码的末尾添加了一个for循环来循环这些单词

其次,在我这样做之后,您的代码返回零,所以我在count_words中的每个单词中添加了.lower(),然后它就工作了

导入请求
导入时间
从bs4导入BeautifulSoup
标题={
“用户代理”:“Mozilla/5.0(Macintosh;英特尔Mac OS X 10_14_5)AppleWebKit/537.36(KHTML,如Gecko)Chrome/84.0.4147.89 Safari/537.36”}
def计数单词(url,单词):
r=requests.get(url,headers=headers)
返回r.text.lower()
def main():
#url='1〕https://www.nytimes.com/'
媒体={
《洛杉矶时报》:['http://www.latimes.com/'],
《纽约时报》:['http://www.nytimes.com/']
}
单词=‘特朗普’
words=['Trump','Facebook']
打印('--Iniciando---')
打印('Hora:',time.strftime(“%X”))
对于web_名称,媒体中的URL.items()
对于url中的url:
用文字表示:
count=count\u单词(url,单词)
打印('La palabra{}aparece{}veces en el-sitio del{}.'.格式(单词、计数、网页名称))
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()

请将其简化为a-就问题而言(如果我理解正确),网页抓取是不相关的。您的mre可以是一个玩具示例,包括忠实地说明您的问题的数据和代码。我们不必访问非现场资源来获取您在使用中遇到问题的数据。您尚未说明解决方案的问题所在。它有什么不足之处?
for web_name, urls in medias.items():
        for url in urls:
            for word in words:
                count = count_words(url, word)
                print('La palabra {} aparece {} veces en el sitio del {}.'.format(word, count, web_name))