получение ошибки '' AttributeError: объект 'NoneType' не имеет атрибута 'find' '' при сканировании ссылки в теге tr - PullRequest
0 голосов
/ 22 октября 2019

tring для сканирования ссылки в строках таблицы, но не удалось удалить.

код приведен ниже.

    from bs4 import BeautifulSoup
    import requests

    r = requests.get('http://myneta.info/maharashtra2019/index.php?action=summary&subAction=candidates_analyzed&sort=candidate#summary')
    soup = BeautifulSoup(r.text,'lxml')

    div = soup.find('div',class_='divTableWithFloatingHeader')

    body = div.find('tbody')
    for links in body.find_all('tr'):
        link = links.find('a')
        print(link['href'])

PLZ, помогите мне в любом случае взломать это.

Ответы [ 2 ]

0 голосов
/ 22 октября 2019

Попробуйте,

>>> for tr in soup.find_all('tr')[2:]: # [2:] is to skip 2 header rows
        tds = tr.find_all('td')
        if tds:
            link = tds[0].find('a')
            print(f"{link['href']}")

Вывод:

index.php?action=summary&subAction=candidates_analyzed&sort=candidate#summary
index.php?action=summary&subAction=crime&sort=candidate#summary
index.php?action=summary&subAction=serious_crime&sort=candidate#summary
index.php?action=summary&subAction=crorepati&sort=candidate#summary
index.php?action=summary&subAction=education&sort=candidate#summary
index.php?action=summary&subAction=without_pan&sort=candidate#summary
index.php?action=summary&subAction=women_candidate&sort=candidate#summary
index.php?action=summary&subAction=candidates_analyzed&sort=candidate#summary
0 голосов
/ 22 октября 2019

Проблема в том, что body.find_all ('tr') возвращает последовательность, в которой нет None. Вы можете предотвратить ошибку, добавив if links is not None: выражение

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