BeautifulSoup代码错误

时间:2018-07-14 06:21:00

标签: beautifulsoup python-3.6

我似乎无法在此代码中找到问题。 帮助将不胜感激。

import requests
from bs4 import BeautifulSoup

url = 'http://nytimes.com'
r = requests.get(url)
r_html = r.text

soup = BeautifulSoup(r_html)

title = soup.find('span','articletitle').string

Code & Error Screenshot

3 个答案:

答案 0 :(得分:1)

问题是http://nytimes.com没有跨度articletitle。为了安全起见,只需在访问之前检查if soup.find('span','articletitle') is not None:。另外,您无需在此处访问string属性。例如,以下操作会很好。

import requests
from bs4 import BeautifulSoup

url = 'http://nytimes.com'
r = requests.get(url)
r_html = r.text

soup = BeautifulSoup(r_html, 'html.parser')

if soup.find('div', 'suggestions') is not None:
    title = soup.find('div','suggestions')
    print(title)

答案 1 :(得分:0)

将您的代码放入try and catch并打印正在发生的异常。使用发生的异常可以纠正问题。

答案 2 :(得分:0)

您好,将解析器用作get方法的第二个参数

例如:-

page_content = BeautifulSoup(r.content, "html.parser")