【问题标题】:BS4 not finding elementBS4 找不到元素
【发布时间】:2017-12-21 04:32:23
【问题描述】:
import urllib2
from bs4 import BeautifulSoup

url = 'https://www.wsj.com/news/world'

page = urllib2.urlopen(url)
soup = BeautifulSoup(page, 'html.parser')

l = soup.find_all('div', {'class': 'module module_ls ls ni noImage'})
a = soup.find_all('a', {'class': 'subPrev headline'})

print(l)
print(a)

这将返回空列表。但正如您在图片中看到的那样,这些类存在 div... 为什么?

【问题讨论】:

    标签: python beautifulsoup urllib


    【解决方案1】:

    使用lxml 解析器可以正常工作:

    soup = BeautifulSoup(page, 'lxml')
    

    当然你必须安装lxml。如果您有html5lib,它也适用于该页面:

    soup = BeautifulSoup(page, 'html5lib')
    

    【讨论】:

    • 谢谢,但它也不起作用。它对你有用吗?
    • 不。这很奇怪。
    • @phd 调用解析器的正确方法是html5lib 而不是html5
    • @phd 但是代码运行后您没有收到来自BeautifulSoup 的消息吗?
    • @ViníciusAguiar 你是对的。警告是:UserWarning:没有明确指定解析器,因此我正在使用适用于该系统的最佳 HTML 解析器(“html5lib”)。
    猜你喜欢
    • 2020-09-29
    • 2019-09-29
    • 1970-01-01
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    相关资源
    最近更新 更多