【问题标题】:BeautifulSoup class searching, no resultsBeautifulSoup 类搜索,没有结果
【发布时间】:2019-03-21 08:55:13
【问题描述】:

我正在使用 BeautifulSoup 来解析 this 站点的代码并提取结果的 URL。但是当使用find_all 命令时,我得到一个空列表作为输出。我手动检查了从站点下载的 HTML 代码,它包含适当的类。 如果有人能指出我在哪里犯了错误或提供更好的解决方案,我将不胜感激!

from bs4 import BeautifulSoup
import requests


page = requests.get("https://www.awf.edu.pl/pracownik/wyszukiwarka-pracownikow?result_5251_result_page=3&queries_search_query=&category_kategorie=wydzia_wychowania_fizycznego&search_page_5251_submit_button=Szukaj&current_result_page=1&results_per_page=20&submitted_search_category=&mode=results")

soup = BeautifulSoup(page.content, 'html.parser')

results = soup.find_all('div', class_ = 'search-item photo')

`

我还尝试使用下面的代码来查找网站上的所有链接,然后将我需要的链接分开,但在这种情况下,我只得到父标签。如果在标签“a”中嵌套了另一个标签“a”,则会跳过它,并且从文档中,我认为它也将包含在输出中。

from bs4 import BeautifulSoup
import requests


page = requests.get("https://www.awf.edu.pl/pracownik/wyszukiwarka-pracownikow?result_5251_result_page=3&queries_search_query=&category_kategorie=wydzia_wychowania_fizycznego&search_page_5251_submit_button=Szukaj&current_result_page=1&results_per_page=20&submitted_search_category=&mode=results")

soup = BeautifulSoup(page.content, 'html.parser')

results = soup.find_all('a')

BeautifulSoup can't find class that exists on webpage?

我找到了类似问题的答案,但就我而言,当我使用 print(soup.prettify()) 时,我可以在控制台中看到我想要找到的 HTML 代码

【问题讨论】:

    标签: python python-3.x beautifulsoup


    【解决方案1】:

    您面临的问题与您解析page.content 的方式有关。

    替换:

    soup = BeautifulSoup(page.content, 'html.parser')
    

    与:

    soup = BeautifulSoup(page.content, 'lxml')
    

    希望这会有所帮助。

    【讨论】:

    • 它有效,你能解释一下为什么吗?如果我理解正确,那是因为最新版本的 BeautifulSoup 库不支持 HTML 解析,但我不确定。
    • 我不是 100% 确定原因,但据我所知,您的假设是正确的。 (根据经验,我总是使用 lxml)
    猜你喜欢
    • 2021-04-18
    • 2010-10-28
    • 2017-04-02
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    相关资源
    最近更新 更多