Уведомления

Группа в Telegram: присоединиться

#1 Авг. 16, 2019 14:35:22

r4khic
Зарегистрирован: 2019-07-23
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

TypeError: object of type 'NoneType' has no len()

Добрый день.Вот код:
[import requests
from bs4 import BeautifulSoup
import pymysql

def get_html(url):
r = requests.get(url)
return r.text

def get_links(html):
soup = BeautifulSoup(html, ‘lxml’)
links=soup.findAll(link_container_array,{link_container_array:link_container_array})
for link_container in links:
a_tag = link_container .find(“a”)
# Если нашел
if a_tag:
link = resource_allnews_link + a_tag.get(“href”)


def get_content(html, links):
links = get_links(html)
soup = BeautifulSoup(html,'lxml')
page_url=soup.find(page_link_array,{page_link_array:page_link_array})
print(page_url)
get_content(html, links)

def main(resource_allnews_link):
url = resource_allnews_link
get_links(get_links(get_html(url)))

# < Подключение к базе данных.
connection = pymysql.connect(host='localhost',
user='root',
password='',
db='news_portal',
charset='utf8',
autocommit=True)
cursor = connection.cursor()

# < Запрос для получения правил выдергивания контента.
cursor.execute('SELECT `resource_id`, `resource_name`, `resource_url`, `resource_allnews_link`, `link_rule`, `mainblock`, `mainblock1`, `page_link`, `title`, `datetime`, `datetime1`, `text`, `text1` FROM `resource` WHERE 1')
resources=cursor.fetchall()

for resource in resources:
resource_allnews_link=resource
content_rule=resource
main_block=resource
main_block1=resource
page_link=resource
title=resource
datetime=resource
datetime1=resource
text=resource
text1=resource
link_container_array=content_rule.split(',')
main_block_array=main_block.split(',')
main_block1_array=main_block1.split(',')
page_link_array=page_link.split(',')
title_array=title.split(',')
datetime=datetime.split(',')
datetime1=datetime1.split(',')
text=text.split(',')
text1=text1.split(',')

main(resource_allnews_link)

connection.close()
]
Функция get_links получает все ссылка с портала.После я ее прогоняю в цикле.И результат передается в функцию get_content и от туда с нее должен выходить принт.

Но при выводе такая ошибка:
[Traceback (most recent call last):
File “CUsers/Администратор/PycharmProjects/Task/sql_parser.py”, line 64, in <module>
main(resource_allnews_link)
File “CUsers/Администратор/PycharmProjects/Task/sql_parser.py”, line 28, in main
get_links(get_links(get_html(url)))
File “CUsers/Администратор/PycharmProjects/Task/sql_parser.py”, line 10, in get_links
soup = BeautifulSoup(html, ‘lxml’)
File “C:\Users\Администратор\AppData\Local\Programs\Python\Python37-32\lib\site-packages\bs4\__init__.py”, line 267, in __init__
elif len(markup) <= 256 and (
TypeError: object of type ‘NoneType’ has no len()

Process finished with exit code 1
]

Онлайн

#2 Авг. 16, 2019 15:34:23

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3279
Репутация: +  220  -
Профиль   Отправить e-mail  

TypeError: object of type 'NoneType' has no len()

оформите код в соответствующих тегах code



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version