我似乎无法在此代码中找到问题。 帮助将不胜感激。
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
答案 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")