Очистите ссылку на данные и назовите информацию с красивым супом во вложенном цикле python - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь собрать информацию с веб-сайта. Структура html выглядит следующим образом:

<tbody>
    <tr id="city_1">
        <td class="first"><a href="http://www.link_1.com/" class="text" target="_blank">Name_1</a></td>
        <td style="text-align: right;"><span class="text">247 380</span></td>
        <td class="hidden-xs"><span class="text">NRW</span></td>
        <td class="hidden-xs last"><span class="text">52062</span></td>
    </tr>
    <tr id="city_1">
        <td class="first"><a href="http://www.link_2.com/" class="text" target="_blank">Name_2</a></td>
        <td style="text-align: right;"><span class="text">247 380</span></td>
        <td class="hidden-xs"><span class="text">NRW</span></td>
        <td class="hidden-xs last"><span class="text">52062</span></td>
    </tr>
</tbody>

Я создал вложенный пакет l oop в python с красивым суповым пакетом для доступа к гиперссылке, в которой хранится нужная мне информация (ссылка и имя).

Ниже моего кода:

import pandas as pd
import requests
from bs4 import BeautifulSoup
#get all the city links of the page
page = requests.get("link")
#print(page)
soup = BeautifulSoup(page.content, "html.parser")
#print(soup)

for x in soup.tbody:
    for y in x:
        for z in y:
            print(z.find('a')) #here the problem.

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

1 Ответ

1 голос
/ 27 февраля 2020

Попробуйте:

for x in soup.tbody.find_all('td',class_='first'):    
    print(x.find('a').get('href'),x.text)

Вывод:

http://www.aachen.de/ Aachen
http://www.aalen.de/ Aalen
http://www.amberg.de/ Amberg

et c.

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