Разбор промежутка с красивым супом - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь проанализировать какой-то веб-сайт, пытаясь найти 'span' внутри тега div и class_.Span находится в определенном классе, если он равен строке, например, 'line', тогда он возвращает фактическую ссылку на веб-сайт.

сообщение об ошибке, которое я получаю:

строка 28, в супе= BeautifulSoup (url_html, "html.parser") строка 245, в init elif len (разметка) <= 256 и (TypeError: объект типа 'Response' не имеет len () </p>

import csv
from bs4 import BeautifulSoup
import requests

contents = []

def condition_check():
    for sp in soup.find("div",class_='-vDIg'):
        check = sp.span
        if check in ['Line','LINE ID',]:
            return link


filename = 'link_business_filter.csv'

with(open(filename,'rt')) as f:
    data = csv.reader(f)

    for row in data:
        links = row[0]
        contents.append(links)



for link in contents:
    url_html = requests.get(link)
    soup = BeautifulSoup(url_html,"html.parser")
    con_fltr = condition_check()
    print(con_fltr)

1 Ответ

0 голосов
/ 28 июня 2019

Вы передаете объект Request в Beautiful Soup, вам необходимо передать html-содержимое следующим образом:

for link in contents:
    url_html = requests.get(link)
    soup = BeautifulSoup(url_html.content,"html.parser")
    con_fltr = condition_check()
    print(con_fltr)

url_html -> url_html.content

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...