Я нашел эту программу в сети, которая получает доступ к онлайн-тексту и выполняет поиск по ряду ключевых слов, выводя словарь с номерами каждого найденного слова.
import urllib2
import csv
import sys
string_match1 = 'edgar/data/1360901/000136090118000006/0001360901-18-
000006.txt'
url3 = 'https://www.sec.gov/Archives/'+string_match1
response3 = urllib2.urlopen(url3)
words = ['anticipate', 'believe', 'depend', 'fluctuate', 'indefinite',
'likelihood', 'possible', 'predict', 'risk', 'uncertain']
count={}
for elem in words:
count[elem] = 0
for line in response3:
elements = line.split()
for word in words:
count[word] = count[word]+elements.count(word)
print (count)
Это работало в Python 2, однако, когда я попытался запустить его на Python 3, это не удалось.Я думал, что проблема была с обновлением urllib.Поэтому я изменил его сам и использовал 2to3.py, чтобы получить следующее:
import urllib.request, urllib.error, urllib.parse
import csv
import sys
string_match1 = 'edgar/data/1360901/000136090118000006/0001360901-18-
000006.txt'
url3 = 'https://www.sec.gov/Archives/'+string_match1
response3 = urllib.request.urlopen(url3)
words = ['anticipate', 'believe', 'depend', 'fluctuate', 'indefinite',
'likelihood', 'possible', 'predict', 'risk', 'uncertain']
count={}
for elem in words:
count[elem] = 0
for line in response3:
elements = line.split()
for word in words:
count[word] = count[word]+elements.count(word)
print (count)
Это избавило от ошибки, но программа больше не работает.Теперь это вывод: слова в словаре отображаются, но каждый счет равен 0, когда он должен быть ненулевым.