【问题标题】:Extract data in Python using beautifulsoup使用 Beautifulsoup 在 Python 中提取数据
【发布时间】:2019-11-07 13:42:39
【问题描述】:

我正在尝试从 https://ash.confex.com/ash/2019/webprogram/start.htm 中提取数据,并在 beautifulsoup

find_all 中遇到错误
import webbrowser
import os
import requests
from bs4 import BeautifulSoup
import sys
import wget
import pandas as pd
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

driver = webdriver.Chrome('D:\\crome drive\\chromedriver.exe')
driver.get('https://ash.confex.com/ash/2019/webprogram/start.html')
searchterm = driver.find_element_by_id("words").send_keys("CAR-T")
driver.find_element_by_name("submit").click()
#driver.find_element_by_tag_name("resulttitle")
#driver.find_element_by_class_name("a")

soup_level1=BeautifulSoup(driver.page_source, 'lxml')
#fl=soup_level1.find_all(class_='soup_level1')
results = soup_level1.find_all('div', attrs={'class':'resulttitle'})
tag = results.findall('a', attrs='href')

我遇到错误

AttributeError:ResultSet 对象没有属性“findall”。你是 可能将项目列表视为单个项目。你打电话了吗 find_all() 当你打算调用 find() 时?

【问题讨论】:

标签: python-3.x web-scraping beautifulsoup


【解决方案1】:

是的,正如错误所说 - find_all 方法应该用于 html 树,但在您的代码中,变量 results 是一个 ResultSet 对象。在 bs4 中,这是一个列表,其中每个项目都是一个 HTML 树。

results = soup_level1.find_all('div', attrs={'class':'resulttitle'})
print(type(results))   # <class 'bs4.element.ResultSet'>
print(results)   # []

这也表明您的results 是空的。我搜索了 HTML 并没有看到任何 class= "resulttitle" 的 div,因此您可能需要仔细检查您要查找的内容。

理论上,如果您的results 变量不为空,您可以遍历results 中的每个项目然后找到您要查找的所有链接:

results = soup_level1.find_all('div', attrs={'class':'resulttitle'})
for result in results:
    tag_list = result.find_all('a', attrs='href)     
    # this will yield another list where each item is an HTML tree

【讨论】:

猜你喜欢
  • 2013-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-28
  • 1970-01-01
  • 1970-01-01
  • 2018-06-10
相关资源
最近更新 更多