简化的 python 文章发现和提取。
项目描述
“Newspaper 是一个很棒的 Python 库,用于提取和整理文章。” –请求作者 Kenneth Reitz发推文
“报纸提供 Instapaper 风格的文章提取。” –变更日志
报纸是一个 Python3 库!或者,查看我们已弃用且有问题的 Python2 分支
一览:
>>> from newspaper import Article
>>> url = 'http://fox13now.com/2013/12/30/new-year-new-laws-obamacare-pot-guns-and-drones/'
>>> article = Article(url)
>>> article.download()
>>> article.html
'<!DOCTYPE HTML><html itemscope itemtype="http://...'
>>> article.parse()
>>> article.authors
['Leigh Ann Caldwell', 'John Honway']
>>> article.publish_date
datetime.datetime(2013, 12, 30, 0, 0)
>>> article.text
'Washington (CNN) -- Not everyone subscribes to a New Year's resolution...'
>>> article.top_image
'http://someCDN.com/blah/blah/blah/file.png'
>>> article.movies
['http://youtube.com/path/to/link.com', ...]
>>> article.nlp()
>>> article.keywords
['New Years', 'resolution', ...]
>>> article.summary
'The study shows that 93% of people ...'
使用 YAKE 进行关键字提取!(另一个关键字提取器)了解更多关于 YAKE 的信息!请查看官方存储库(https://github.com/LIAAD/yake)。注意:分数越低,关键词越相关。
>>> url = 'http://www.cnn.com/2013/11/27/justice/tucson-arizona-captive-girls/'
>>> article = Article(url)
>>> article.download()
>>> article.parse()
YAKE! With default parameters
>>> article.yake()
[('police', 0.02171325705124914), ('sophia richter', 0.02178687039012946),
('police chief roberto', 0.022941575782713476),...]
YAKE! with custom parameters.
>>> article.yake(lan="en", n=3, dedupLim=0.9, dedupFunc='seqm', windowsSize=1, top=20, features=None)
[('police', 0.02171325705124914), ('sophia richter', 0.02178687039012946),
('police chief roberto', 0.022941575782713476),...]
>>> import newspaper
>>> cnn_paper = newspaper.build('http://cnn.com')
>>> for article in cnn_paper.articles:
>>> print(article.url)
http://www.cnn.com/2013/11/27/justice/tucson-arizona-captive-girls/
http://www.cnn.com/2013/12/11/us/texas-teen-dwi-wreck/index.html
...
>>> for category in cnn_paper.category_urls():
>>> print(category)
http://lifestyle.cnn.com
http://cnn.com/world
http://tech.cnn.com
...
>>> cnn_article = cnn_paper.articles[0]
>>> cnn_article.download()
>>> cnn_article.parse()
>>> cnn_article.nlp()
...
>>> from newspaper import fulltext
>>> html = requests.get(...).text
>>> text = fulltext(html)
报纸可以无缝地提取和检测语言。如果未指定语言,Newspaper 将尝试自动检测语言。
>>> from newspaper import Article
>>> url = 'http://www.bbc.co.uk/zhongwen/simp/chinese_news/2012/12/121210_hongkong_politics.shtml'
>>> a = Article(url, language='zh') # Chinese
>>> a.download()
>>> a.parse()
>>> print(a.text[:150])
香港行政长官梁振英在各方压力下就其大宅的违章建
筑(僭建)问题到立法会接受质询,并向香港民众道歉。
梁振英在星期二(12月10日)的答问大会开始之际
在其演说中道歉,但强调他在违章建筑问题上没有隐瞒的
意图和动机。 一些亲北京阵营议员欢迎梁振英道歉,
且认为应能获得香港民众接受,但这些议员也质问梁振英有
>>> print(a.title)
港特首梁振英就住宅违建事件道歉
如果您确定整个新闻源都使用一种语言,请继续使用相同的 api :)
>>> import newspaper
>>> sina_paper = newspaper.build('http://www.sina.com.cn/', language='zh')
>>> for category in sina_paper.category_urls():
>>> print(category)
http://health.sina.com.cn
http://eladies.sina.com.cn
http://english.sina.com
...
>>> article = sina_paper.articles[0]
>>> article.download()
>>> article.parse()
>>> print(article.text)
新浪武汉汽车综合 随着汽车市场的日趋成熟,
传统的“集全家之力抱得爱车归”的全额购车模式已然过时,
另一种轻松的新兴 车模式――金融购车正逐步成为时下消费者购
买爱车最为时尚的消费理念,他们认为,这种新颖的购车
模式既能在短期内
...
>>> print(article.title)
两年双免0手续0利率 科鲁兹掀背金融轻松购_武汉车市_武汉汽
车网_新浪汽车_新浪网
文档
查看文档以获取使用报纸的完整和详细指南。
有兴趣为我们添加新语言吗?参考:Docs - 添加新语言
特征
多线程文章下载框架
新闻网址识别
从 html 中提取文本
从html中提取顶部图像
从html中提取所有图像
从文本中提取关键字
从文本中提取摘要
从文本中提取作者
谷歌趋势词提取
支持 10 多种语言(英语、中文、德语、阿拉伯语……)
>>> import newspaper
>>> newspaper.languages()
Your available languages are:
input code full name
ar Arabic
be Belarusian
bg Bulgarian
da Danish
de German
el Greek
en English
es Spanish
et Estonian
fa Persian
fi Finnish
fr French
he Hebrew
hi Hindi
hr Croatian
hu Hungarian
id Indonesian
it Italian
ja Japanese
ko Korean
lt Lithuanian
mk Macedonian
nb Norwegian (Bokmål)
nl Dutch
no Norwegian
pl Polish
pt Portuguese
ro Romanian
ru Russian
sl Slovenian
sr Serbian
sv Swedish
sw Swahili
th Thai
tr Turkish
uk Ukrainian
vi Vietnamese
zh Chinese
立即获取
运行✅ pip3 安装报纸3k ✅
不是 ⛔ pip3 安装报纸⛔
在 python3 上,您必须安装报纸3k ,而不是 报纸。报纸是我们的 python2 库。尽管使用pip安装报纸很简单,但如果您尝试在 ubuntu 上安装,您将遇到可修复的问题。
如果您在 Debian / Ubuntu 上,请使用以下命令进行安装:
安装报纸3k包所需的pip3命令:
$ sudo apt-get install python3-pip
Python.h 所需的 Python 开发版本:
$ sudo apt-get install python-dev
lxml 要求:
$ sudo apt-get install libxml2-dev libxslt-dev
让 PIL 识别 .jpg 图像:
$ sudo apt-get install libjpeg-dev zlib1g-dev libpng12-dev
注意:如果您在安装libpng12-dev时发现问题,请尝试安装libpng-dev。
下载 NLP 相关语料库:
$ curl https://raw.githubusercontent.com/codelucas/newspaper/master/download_corpora.py | python3
通过 pip 安装发行版:
$ pip3 install newspaper3k
如果您在 OSX 上,请使用以下命令进行安装,您可以同时使用 homebrew 或 macports:
$ brew install libxml2 libxslt $ brew install libtiff libjpeg webp little-cms2 $ pip3 install newspaper3k $ curl https://raw.githubusercontent.com/codelucas/newspaper/master/download_corpora.py | python3
否则,请使用以下命令安装:
注意:您仍然很可能需要通过包管理器安装以下库
PIL:libjpeg-dev zlib1g-dev libpng12-dev
lxml:libxml2-dev libxslt-dev
Python开发版本:python-dev
$ pip3 install newspaper3k $ curl https://raw.githubusercontent.com/codelucas/newspaper/master/download_corpora.py | python3
咨询
这项服务已经被世界各地的初创公司、顶级新闻机构(CNN、NYT 等)、研究生院研究人员使用,当然还有像您这样的黑客 :) 如果您或您的公司对更高级的功能感兴趣,例如:增加NLP 和抓取准确性、错误信息、假新闻、作者可信度、提高用例的覆盖率和准确性等;随时给我发电子邮件和联系我 进行咨询。
捐款
非常感谢您的捐款!他们会让我腾出更多时间从事这个项目,承担以下工作:添加新功能、错误修复支持、解决与库有关的问题。
我的 PayPal 链接:https ://www.paypal.me/codelucas
我的Venmo手柄:@Lucas-Ou-Yang
发展
如果您想为报纸项目做出贡献和破解,请随时在本地克隆此存储库的开发版本:
git clone git://github.com/codelucas/newspaper.git
一旦你有了源代码的副本,你可以将它嵌入到你的 Python 包中,或者很容易地将它安装到你的站点包中:
$ pip3 install -r requirements.txt $ python3 setup.py install
随意给我们的测试套件一个镜头,一切都被嘲笑了!:
$ python3 tests/unit_tests.py
计划调整我们的全文算法?添加全文参数:
$ python3 tests/unit_tests.py 全文
演示
在此处查看有效的在线演示:http: //newspaper-demo.herokuapp.com
这是另一个在线演示: http: //newspaper.chinazt.cc/
执照
由Lucas Ou-Yang编写和维护。
Parse.ly赞助了一些关于报纸的工作,特别关注自动提取。
Newspaper 大量使用了python-goose 的解析代码。在此处查看他们的许可证。
如果您遇到问题或只是想谈谈这个图书馆的未来和一般的新闻提取,请随时给我发电子邮件和联系我!
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
enlivensystems_newspaper- 0.3.11 -py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | a760a500b066bdaff36e9e988a5df63accc02ef160c6080509925ad5a3d8b831 |
|
| MD5 | 7afa1a993c6b30914955669a414e842f |
|
| 布莱克2-256 | bddc93f87d3e236c8443f74ed13e861b127b2ac8c2631e3a63c998ce8403df6d |