首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >soup.find_all工作,但soup.select不工作

soup.find_all工作,但soup.select不工作
EN

Stack Overflow用户
提问于 2017-07-09 20:02:25
回答 1查看 1.4K关注 0票数 3

我在玩用css选择器解析html页面

代码语言:javascript
复制
import requests
import webbrowser
from bs4 import BeautifulSoup

page = requests.get('http://www.marketwatch.com',  headers={'User-Agent': 'Mozilla/5.0'})
soup = BeautifulSoup(page.content, 'html.parser')

在使用select方法时,我在选择带有类的列表标记时遇到了问题。但是,我在使用find_all方法时没有遇到任何问题。

代码语言:javascript
复制
soup.find_all('ul', class_= "latestNews j-scrollElement")

这将返回我想要的输出,但由于某些原因,我不能使用css选择器来完成相同的操作。我想知道我做错了什么。

以下是我的尝试:

代码语言:javascript
复制
soup.select("ul .latestNews j-scrollElement")

返回一个空列表。

我不知道select方法做错了什么。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-09 20:08:35

来自文档

如果要搜索匹配两个或多个CSS类的标记,则应使用CSS选择器: css_soup.select("p.strikeout.body")

在你的例子中,你会这样称呼它:

代码语言:javascript
复制
In [1588]: soup.select("ul.latestNews.j-scrollElement")
Out[1588]: 
[<ul class="latestNews j-scrollElement" data-track-code="MW_Header_Latest News|MW_Header_Latest News_Facebook|MW_Header_Latest News_Twitter" data-track-query=".latestNews__headline a|a.icon--facebook|a.icon--twitter">
 .
 .
 .
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45000494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档