尝试从新闻文章中提取元数据

扎克·约翰逊(Zach Johnson)

我正在尝试从CNN文章中提取元标记

import httplib2
from bs4 import BeautifulSoup

http = httplib2.Http()
status, response = http.request(http://www.cnn.com/2016/08/09/health/chagas-sleeping-sickness-leishmaniasis-drug/index.html)
soup = BeautifulSoup(response)
print(soup.select('body > div.pg-right-rail-tall.pg-wrapper.pg__background__image > article > meta'))

我正在尝试将其缩小到仅此输出

<meta content="health" itemprop="articleSection"><meta content="2016-08-09T12:10:24Z" itemprop="dateCreated"><meta content="2016-08-09T12:10:24Z" itemprop="datePublished"><meta content="2016-08-09T12:10:24Z" itemprop="dateModified"><meta content="http://www.cnn.com/2016/08/09/health/chagas-sleeping-sickness-leishmaniasis-drug/index.html" itemprop="url"><meta content="Meera Senthilingam, for CNN" itemprop="author"><meta content="Could one discovery take on three deadly parasites?  - CNN.com" itemprop="headline"><meta content="Three seemingly different diseases infect 20 million people each year: Chagas disease, leishmaniasis and African sleeping sickness. But one drug could be developed to fight all three." itemprop="description"><meta content="sleeping sickness, disease, drug, drug development, chagas disease, leishmaniasis, Novartis, health, Could one discovery take on three deadly parasites?  - CNN.com" itemprop="keywords"><meta content="http://i2.cdn.turner.com/cnnnext/dam/assets/150812101743-chagas-bug-large-tease.jpg" itemprop="image"><meta content="http://i2.cdn.turner.com/cnnnext/dam/assets/150812101743-chagas-bug-large-tease.jpg" itemprop="thumbnailUrl"><meta content="Could one discovery take on three deadly parasites? " itemprop="alternativeHeadline">

但由于某种原因,该BeautifulSoup.select()方法返回的HTML大约是我想要的100倍。对于如何解决此问题,我将不胜感激。

帕德拉克·坎宁安(Padraic Cunningham)

问题是解析器/ html,lxmlhtml5lib为您提供了您想要的东西。

soup = BeautifulSoup(response,"lxml")

或者:

 soup = BeautifulSoup(response,"html5lib")

如果您有没有做LXMLhtml5lib安装,您可以安装html5lib使用PIP,LXML是根据您的操作系统,因为它有几个依赖多一点参与,但它绝对是值得安装。

您还可以简化选择:

soup.select('div.pg-right-rail-tall.pg-wrapper.pg__background__image meta')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从新闻站点的 XML 提要中提取文章?

来自分类Dev

如何从新闻摘要中提取股票代码NUMBER?

来自分类Dev

从存储的.html页面中提取新闻文章内容

来自分类Dev

如何使用Node.js从新闻文章网站提取Facebook评论

来自分类Dev

nopcommerce从新闻页面提取图像

来自分类Dev

nopcommerce从新闻页面提取图像

来自分类Dev

在RavenDB中提取元数据

来自分类Dev

我正在尝试使用样板库在Java中提取文章

来自分类Dev

尝试从网页图像中提取元数据时,总是返回{},为什么?

来自分类Dev

尝试从网页图像中提取元数据时,总是返回{},为什么?

来自分类Dev

如何使用Jsoup提取新闻文章?

来自分类Dev

从视频/图像中提取元数据

来自分类Dev

从PNG图像中提取元数据

来自分类Dev

如何从Clojure异常中提取元数据?

来自分类Dev

从视频/图像中提取元数据

来自分类Dev

从PNG图像中提取元数据

来自分类Dev

尝试使用HtmlAgilityPack从网页中提取数据

来自分类Dev

这是从新的 <dialog> 元素中提取表单输入数据的唯一方法吗?

来自分类Dev

尝试提取音频元数据 Javascript

来自分类Dev

从字符串中提取新闻ID

来自分类Dev

Android从byte []数据中提取EXIF元数据

来自分类Dev

Android从byte []数据中提取EXIF元数据

来自分类Dev

Nuget [exec]警告:无法从* .dll中提取元数据

来自分类Dev

在Python 3中提取PDF元数据

来自分类Dev

PHP不从自定义字段中提取元数据

来自分类Dev

在Python中从PDF元数据中提取关键字

来自分类Dev

是否可以从PBIX文件中提取JSON元数据?

来自分类Dev

CLI:从视频文件中提取元数据和属性

来自分类Dev

Nuget [exec]警告:无法从* .dll中提取元数据

Related 相关文章

热门标签

归档