"Dictionary update sequence element #0 has lenght"
ошибка dictionary update sequence element #0 has length 12; 2 is required
Надо было получить текст из запроса requests.get("https://www.google.com/"), и из ссылок полученных при помощи regex отделить ссылки, и посчитать сколько раз встречается определенное слово в result. Возможно, я совершенно неправильно сделал задачу, и ошибка исходит отсюда, в любом случае прошу помощи в решении этого вопроса. Код:
import requests, re
response = requests.get("https://www.google.com/")
result = re.findall(r'/[A-Za-z\.]+/', response.text)
print(result)
def count_words(List):
counter = 0
for word in range(len(List)):
if List.has_key(word):
counter += 1
else:
counter = 0
print(f"word {word} matches {counter}")
count_words(dict(result))
Ответы (2 шт):
Автор решения: Danis
→ Ссылка
import requests, re
response = requests.get("https://www.google.com/")
result = re.findall(r'/[A-Za-z\.]+/', response.text)
def count_words(List):
Dict = {}
for word in List:
if word in Dict:
Dict[word] += 1
else:
Dict[word] = 1
for word, counter in Dict.items():
print(f"word {word} matches {counter}")
count_words(result)
Автор решения: gil9red
→ Ссылка
Подсчет можно сделать проще через Counter.
Попробуйте:
import re
from collections import Counter
import requests
def count_words(words):
for word, counter in Counter(words).items():
print(f"word {word} matches {counter}")
response = requests.get("https://www.google.com/")
result = re.findall(r'/[A-Za-z.]+/', response.text)
count_words(result)
PS.
В квадратных скобках регулярки не нужно экранировать метасимволы. Поэтому у меня точка без \