使用漂亮的soup4和请求,但我得到以下'list'对象没有属性'find_all'

时间:2016-03-12 03:35:07

标签: django beautifulsoup python-requests

我正在尝试使用beautifulsoup4和请求从文章中获取特定的href,但它不起作用。我看了一些教程,它对他们很好。我在Django应用程序中使用它,这可能是问题。继承我的代码。

url = "http://www.example.com/en_us"
r = requests.get(url)
c = r.content
soup = BeautifulSoup(c)

article = soup.find_all("article")[:1]
tag = article.find_all("href")[0]

context = {
    "all_results": all_results,
    "tag": tag,   
}

我也试过

article = soup.find_all("article")
tag = article.find_all("href")

但它不起作用。什么是正确的语法。欢迎任何帮助或指导

2 个答案:

答案 0 :(得分:0)

如果您只想获取第一个article标记,则应使用soap.find('article')

请参阅docs了解更多信息。

答案 1 :(得分:0)

如果您要查找第一个̀href的第一个a的{​​{1}}:

article

或:

article = soup.find("article")
hrefAttr = article.find('a')['href']

hrefAttr = soup.find("article").find('a')['href'] 限制搜索到第一次出现。

并且您无法使用find()来搜索标记的属性。

将标签用作字典。