Две идентичные ссылки ведут себя по-разному при разборе имени пользователя от них - PullRequest
0 голосов
/ 04 ноября 2019

Я создал скрипт на python для извлечения имени пользователя с веб-страницы. Я использовал две идентичные ссылки, чтобы увидеть, как ведет себя скрипт. Сценарий может проанализировать имя пользователя первой ссылки, но не смог перейти к второй ссылке, и в результате он выдает AttributeError.

, с которыми я пытался:

import requests
from bs4 import BeautifulSoup

links = (
    "https://twitter.com/fabogeek",
    "https://twitter.com/radio702"
)

for link in links:
    res = requests.get(link,headers={"User-Agent":"Mozilla/5.0"})
    soup = BeautifulSoup(res.text,"lxml")
    username = soup.select_one("div[dir='ltr']:contains('@') > span").text
    print(username)

Текущийвывод:

@Jeezy
AttributeError

Ожидаемый вывод:

@Jeezy
@Radio702

Как я могу также получить имя пользователя из второй ссылки, используя запросы?

1 Ответ

1 голос
/ 04 ноября 2019

Исправлено. Ваш select_one() не получил вторую ссылку, поэтому он возвращал None.

import requests
from bs4 import BeautifulSoup

links = (
    "https://twitter.com/fabogeek",
    "https://twitter.com/radio702"
)

for link in links:
    res = requests.get(link,headers={"User-Agent":"Mozilla/5.0"})
    soup = BeautifulSoup(res.text,"lxml")
    username = soup.find("b", {'class':'u-linkComplex-target'}).text
    print(username)

Out [1]:
FaboGeek
Radio702

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