【发布时间】:2018-08-06 17:57:04
【问题描述】:
我在抓取一个网页时总是遇到一个问题。
AttributeError:ResultSet 对象没有“find”属性。您可能将项目列表视为单个项目。当你打算调用 find() 时,你调用了 find_all() 吗?
谁能告诉我如何解决这个问题?我的代码如下:
import requests
r = requests.get('https://www.example.com')
from bs4 import BeautifulSoup
soup = BeautifulSoup(r.text, 'html.parser')
results = soup.find_all('div', attrs={'class':'product-item item-template-0 alternative'})
records = []
for result in results:
name = results.find('div', attrs={'class':'name'}).text
price = results.find('div', attrs={'class':'price'}).text[13:-11]
records.append((name, price,))
我想问一个很接近的问题。如果我想报废多个页面。像下面这样的模式,我使用下面的代码,但仍然只报废第一页你能解决这个问题吗?
import requests
for i in range(100):
url = "https://www.example.com/a/a_{}.format(i)"
r = requests.get(url)
from bs4 import BeautifulSoup
soup = BeautifulSoup(r.text, 'html.parser')
results = soup.find_all('div', attrs={'class':'product-item item-template-0 alternative'})
【问题讨论】:
标签: python attributeerror