Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.
Закрыт 1 год назад.
Вот код
import requests
import dateparser
import pymysql.cursors
from bs4 import BeautifulSoup
def get_html(url):
r = requests.get(url)
return r.text
def get_data(html):
soup = BeautifulSoup(html, 'lxml')
mainblock=soup.find('div',{'class':'content-under cclear'})
item_link=soup.find('meta',{'property':'og:url'})
item_title=mainblock.find('h1',{'class':'headline'}).text
item_datetime=mainblock.find('span').text
item_datetime=dateparser.parse(item_datetime,date_formats=['%d %B %Y %H'])
item_text_content_intro=mainblock.find('div',{'class':'content-intro'}).text
item_text_content=mainblock.find('div',{'class':'content-text js-mediator-article'}).text
return (item_link['content'],item_title,item_datetime,str.strip(item_text_content_intro,item_text_content))
def main():
url = 'https://bnews.kz/news/v_otnoshenii_rukovodstva_-narkhoza-_vozbuzhdeno_administrativnoe_delo/'
(get_data(get_html(url)))
if __name__ == '__main__':
main()
#SQL
#Подключение к базе данных.
connection = pymysql.connect(host='localhost',
user='root',
password='',
db='news_portal',
charset='utf8',
autocommit=True)
url = 'https://bnews.kz/news/v_otnoshenii_rukovodstva_-narkhoza-_vozbuzhdeno_administrativnoe_delo/'
array = get_data(get_html(url))
sql = "insert into todaykz (`item_link`,`item_title`,`item_datetime`,`text_content_intro`,`text_content`) values (%s,%s,%s,%s,%s)"
cursor=connection.cursor()
item_link=array[0]
item_title=array[1]
item_datetime=str(array[2])
content_intro =array[3]
text_content=array[4]
cursor.execute(sql,((str(item_link),str(item_title),str(item_datetime),str(content_intro),str(text_content))))
print ("Запись в базу данных успешно выполнена.")
При вводе в базу данных следующая ошибка:
Traceback (most recent call last):
File "C:/Users/Администратор/PycharmProjects/Task/bnewskz/bnewskz_parser.py", line 48, in <module>
text_content=array[4]
IndexError: tuple index out of range
Как устранить эту ошибку ?
Я понял.В чем ошибка.Она оказалось в моей не внимательности.Я пытался за инстертить данные в нету таблицу.
Вот правильный код:
sql = "insert into bnewskz (`item_link`,`item_title`,`item_datetime`,`content_intro`,`text_content`) values (%s,%s,%s,%s,%s)"
cursor=connection.cursor()
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Данный SQL запрос имеет различные модификации в коде, но суть одна - он работает на вывод объявлений, с информацией о категории и региональности
я установил в phpini следующие переменные (как было отвечено на странице Изменение настроек 1с bitrix, правда я так и не нашел место где задаются...