При извлечении тегов из списка веб-сайтов извлекается как серия списка - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь извлечь названия форумов с веб-сайта, когда я пытаюсь извлечь имена, каждый элемент в списке добавляется к последующему элементу в списке.

url = "https://www.f150forum.com/f118"
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
domains = soup.find_all('div',attrs={"class":"trow text-center"})
htags = [i.find_all('h4') for i in domains]
forum = []
for x in htags:
    for i in x :
        results = [i.get_text(strip=True, separator=" ")]
        forum.append(results)
        print(len(forum))

Len (форум) должно быть 59, где, как это показано, как 1,2,3 ... 59. Что я должен сделать, чтобы извлечь каждый h4 как элемент в списке?

1 Ответ

0 голосов
/ 09 января 2020

Вы print(len(forum)) внутри for i in x, где len(x)=59 и внутри еще одного точно такого же l oop for x in htags:. Вот почему вы видите 59 раз 1,2, ... 59.

Вот как это должно быть:

url = "https://www.f150forum.com/f118"
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
htags = soup.select(".trow h4")
forum = []
for h in htags:
    print(h.text)
    forum.append(h.get_text(strip=True, separator=" "))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...