【问题标题】:Attribute error with find and findall in webscrape for urlswebscrape for url 中的 find 和 findall 属性错误
【发布时间】:2021-06-17 05:01:39
【问题描述】:

我是 python 的初学者,所以请放轻松。我正在尝试从网站上获取客户成功案例的链接。我能够获得所有链接,但还有我不想要或不需要的其他链接,例如公司 facebook 或linkedin。我试图只得到我想要的那些,而没有那些额外的。我可以将它们全部拉出来,但是一旦我尝试进一步缩小搜索范围,我就会不断收到错误消息:网站 = href 属性错误,AttributeError:ResultSet 对象没有属性“查找”。您可能将元素列表视为单个元素。当您打算调用 find() 时,您是否调用了 find_all()?我试过使用 .find 但我得到了完全相同的错误。这是我目前的代码。

from bs4 import BeautifulSoup
from urllib.request import Request, urlopen
import requests
req = Request('https://www.calix.com/about-calix/success-stories.html', headers={'User-Agent': 'Mozilla/5.0'})
webpage = urlopen(req).read()
soup = BeautifulSoup(webpage, "lxml")
#mydivs = soup.findAll("div", {"class": "tabBlock noBackground"})
#print(mydivs)
links =soup.findAll('a', {"link black cta-js"})
#print(links)
website = links.('href')
print(website)

【问题讨论】:

  • 您在寻找公司网站吗?

标签: python url beautifulsoup attributes


【解决方案1】:

如果你正在寻找公司网站,那么试试这个 sn-p

from bs4 import BeautifulSoup
from urllib.request import Request, urlopen
import requests
req = Request('https://www.calix.com/about-calix/success-stories.html', headers={'User-Agent': 'Mozilla/5.0'})
webpage = urlopen(req).read()
soup = BeautifulSoup(webpage, "lxml")
mydivs = soup.findAll("div", {"class": "tabBlock noBackground"})
# print(mydivs)
links =soup.findAll('a', {"class":"link black cta-js "})
for link in links:
  print(link['href']) #prints websites

由于 findAll 返回一个列表,您需要循环获取所有链接和 您错过的是课程末尾的空格字符"link black cta-js "

【讨论】:

  • 非常感谢,这正是我所需要的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-20
  • 1970-01-01
  • 2015-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多