Итак, я написал этот код для очистки с веб-сайтов, и я использую BeautifulSoup для декодирования HTML-страницы. Я получаю эту ошибку, которую я не уверен, что означает.
ОШИБКА:
C:\Users\Estia\AppData\Local\Programs\Python\Python36\lib\site-packages\dateutil\parser\_parser.py:1204: UnknownTimezoneWarning: tzname ET identified but not understood. Pass `tzinfos` argument in order to correctly return a timezone-aware datetime. In a future version, this will raise an exception.
category=UnknownTimezoneWarning)
Я не предоставляю никакой кодировки в моем методе request.get или BeautifulSoup. Где я должен пройти этот "Цинфос". Я не совсем осведомлен о кодировании и каково его значение. Может кто-нибудь объяснить?
Здесь я выбираю ссылки из ссылки, получаю данные с сайта и сохраняю их в дб. Не уверен, где эта ошибка генерируется.
код:
def run(self):
response = requests.get(self.url)
#print(response.text)
soup = BeautifulSoup(response.text, 'html.parser')
def sql_insertion(url_data_list):
#This basically adds row in my localdb
def url_finder(url):
if '&' in url:
return (url[:url.find('&')])
elif '?' in url:
return (url[:url.find('?')])
else:
return url
def url_finder2(url):
if '%' in url:
return (url[:url.find('%')])
else:
return url
final_urls= []
userlist = []
values = []
data_list= [] #list for urls
# loop for getting list of urls
for i in soup.find_all("a",href=re.compile("(?<=/url\?q=)(htt.*://.*)")):
u = re.split(":(?=http)",i["href"].replace("/url?q=",""))
url_final = url_finder(u[0])
url_f = url_finder2(url_final)
values.append(url_f)
final_urls = list(set(values))
# printing and checking for wrong urls
for i in final_urls:
try:
article = NewsPlease.from_url(i)
if article.text == None:
self.sentiment = 0
else:
blob = TextBlob(article.text)
self.sentiment= blob.sentiment.polarity
self.subjectivity= blob.sentiment.subjectivity
if self.sentiment > 0:
polarity_level = 'Positive'
else:
polarity_level = 'Negetive'
# instead of this just make a function for updating db row
#if self.term.lower() in article.text.lower():
now = datetime.datetime.now()
insertion_date = now.strftime("%Y-%m-%d")
new_data = (self.client_id, self.term, article.url, article.title, article.text, insertion_date, article.date_publish.strftime("%Y-%m-%d"), polarity_level,self.sentiment, self.subjectivity,article.image_url)
data_list.append(new_data)
except:
pass
answer = sql_insertion(data_list)
if answer>0:
return 1
else:
return 0