两个相同的链接在解析用户名时表现不同

我已经在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
  

如何使用请求从第二个链接中获取用户名?

qrsx001 回答:两个相同的链接在解析用户名时表现不同

解决了。您的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)
  

出[1]:
  FaboGeek
  Radio702

本文链接:https://www.f2er.com/3164380.html

大家都在问