【发布时间】:2019-05-12 01:41:16
【问题描述】:
我遇到了网络抓取问题。我正在尝试学习如何做到这一点,但我似乎无法超越一些基础知识。我收到一个错误,“TypeError: 'ResultSet' object is not callable”是我收到的错误。
我尝试了许多不同的方法。我最初试图使用“find”而不是“find_all”函数,但是我遇到了一个问题,即 beautifulsoup 引入了一个非类型。我无法创建一个可以克服该异常的 if 循环,因此我尝试使用“find_all”。
page = requests.get('https://topworkplaces.com/publication/ocregister/')
soup = BeautifulSoup(page.text,'html.parser')all_company_list =
soup.find_all(class_='sortable-table')
#all_company_list = soup.find(class_='sortable-table')
company_name_list_items = all_company_list('td')
for company_name in company_name_list_items:
#print(company_name.prettify())
companies = company_name.content[0]
我希望这能够以干净的方式将加利福尼亚橙县所有在此列表中的公司纳入其中。如您所见,我已经完成了将它们拉入,但我希望列表是干净的。
【问题讨论】:
-
all_company_list('td')是你的问题——这就像去[1,2,3,4]("td")。您不能像调用可调用函数一样调用列表。 -
好吧,我不明白你的意思。如果您查看代码,您是否看到 print /prettify 语句被注释掉的位置?当我在那里运行它时它工作正常。
标签: html python-3.x web-scraping beautifulsoup