这里是python的新手,在尝试设置一些代码以从web页面列表中获取数据时,总是遇到错误。在
其中一个页面的链接是-https://rspo.org/members/2.htm 我正试图在那里获取诸如“会员号码”、“类别”、“行业”、“国家”等信息,并将其全部导出到电子表格中。在
代码:
from bs4 import BeautifulSoup as soup
from urllib.request import urlopen
import requests
pages = []
for i in range(1, 10):
url = 'https://rspo.org/members/' + str(i)
pages.append(url)
for item in pages:
page = requests.get(item)
soup = soup(page.text, 'html.parser')
member = soup.find_all("span", {"class":"current"})
我得到以下错误:
Traceback (most recent call last):
File "", line 3, in soup = soup(page.text, 'html.parser')
TypeError: 'ResultSet' object is not callable
不知道我为什么会犯这个错误。我试着查看堆栈溢出的其他页面,但似乎没有任何页面与上面的页面有类似的错误。在
问题是,您有一个名称冲突,因为您在多种方式使用相同的名称。因此,您的
soup
设置为一个BeautifulSoup
soup对象,但随后将作为同一对象重用。在试试这个:
请注意,我刚刚从}。类的实例应该是小写的,即}。这有助于避免名称冲突,但也使代码更直观。一旦你学会了这一点,阅读代码和编写干净的代码就变得容易多了。在
BeautifulSoup
中删除了别名。我采取这种方法的原因很简单。Python中的标准约定是类应该是正确大小写的。一、 eClassOne
和{class
和{相关问题 更多 >
编程相关推荐