مستوحى من طلبات بساطته ومدعوم بـ lxml لسرعته:
"الجريدة عبارة عن مكتبة بايثون رائعة لاستخراج المقالات وتنظيمها." - غرد بواسطة كينيث ريتز، مؤلف الطلبات
"تقدم الصحيفة استخراج المقالات بأسلوب 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 ...'
>>> 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)
港特首梁振英就住宅违建事件道歉
إذا كنت متأكدًا من أن مصدر الأخبار بأكمله موجود بلغة واحدة، فاستمر واستخدم نفس واجهة برمجة التطبيقات :)
>>> 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利率 科鲁兹掀背金融轻松购_武汉车市_武汉汽
车网_新浪汽车_新浪网
يستغرق الأمر نقرة واحدة فقط
راجع المستندات للحصول على أدلة كاملة ومفصلة باستخدام الصحيفة.
هل أنت مهتم بإضافة لغة جديدة لنا؟ راجع: المستندات - إضافة لغات جديدة
>>> 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 install newspaper3k
✅
لا ⛔ pip3 install newspaper
⛔
في python3، يجب عليك تثبيت newspaper3k
، وليس newspaper
. newspaper
هي مكتبتنا بـ python2. على الرغم من أن تثبيت الجريدة أمر بسيط باستخدام النقاط، إلا أنك ستواجه مشكلات قابلة للإصلاح إذا كنت تحاول التثبيت على نظام التشغيل ubuntu.
إذا كنت تستخدم Debian/Ubuntu ، فقم بالتثبيت باستخدام ما يلي:
يلزم تثبيت أمر pip3
لتثبيت حزمة newspaper3k
:
$ sudo apt-get install python3-pip
إصدار تطوير Python المطلوب لـ Python.h:
$ sudo apt-get install python-dev
متطلبات الإكس إم إل:
$ sudo apt-get install libxml2-dev libxslt-dev
لكي يتعرف PIL على صور .jpg:
$ sudo apt-get install libjpeg-dev zlib1g-dev libpng12-dev
ملاحظة: إذا وجدت مشكلة في تثبيت libpng12-dev
، فحاول تثبيت libpng-dev
.
تنزيل المجموعات ذات الصلة بالبرمجة اللغوية العصبية:
$ الضفيرة https://raw.githubusercontent.com/codelucas/newspaper/master/download_corpora.py | بيثون3
تثبيت التوزيع عبر النقطة:
$ pip3 تثبيت جريدة 3k
إذا كنت تستخدم OSX ، فقم بالتثبيت باستخدام ما يلي، ويمكنك استخدام كل من homebrew أو macports:
$ تثبيت libxml2 libxslt $ Brew install libtiff libjpeg webp little-cms2 $ pip3 تثبيت جريدة 3k $ الضفيرة https://raw.githubusercontent.com/codelucas/newspaper/master/download_corpora.py | بيثون3
خلاف ذلك ، قم بالتثبيت باستخدام ما يلي:
ملاحظة: ستظل بحاجة على الأرجح إلى تثبيت المكتبات التالية عبر مدير الحزم لديك
libjpeg-dev
zlib1g-dev
libpng12-dev
libxml2-dev
libxslt-dev
python-dev
$ pip3 تثبيت جريدة 3k $ الضفيرة https://raw.githubusercontent.com/codelucas/newspaper/master/download_corpora.py | بيثون3
تبرعاتك محل تقدير كبير! سيوفرون لي المزيد من الوقت للعمل في هذا المشروع، لتولي أشياء مثل: إضافة ميزات جديدة، ودعم إصلاح الأخطاء، ومعالجة المخاوف المتعلقة بالمكتبة.
إذا كنت ترغب في المساهمة واختراق مشروع الصحيفة، فلا تتردد في استنساخ نسخة تطوير من هذا المستودع محليًا:
git Clone git://github.com/codelucas/newspaper.git
بمجرد حصولك على نسخة من المصدر، يمكنك تضمينها في حزمة Python الخاصة بك، أو تثبيتها في حزم موقعك بسهولة:
$ pip3 تثبيت -r متطلبات.txt تثبيت $ python3 setup.py
لا تتردد في تجربة مجموعة الاختبار الخاصة بنا، فكل شيء يتم الاستهزاء به!:
اختبارات $ python3/unit_tests.py
هل تخطط لتعديل خوارزمية النص الكامل لدينا؟ أضف معلمة fulltext
:
اختبارات $ python3/unit_tests.py النص الكامل
شاهد عرضًا توضيحيًا للعمل عبر الإنترنت هنا: http://newspaper-demo.herokuapp.com
هذا عرض توضيحي آخر يعمل عبر الإنترنت: http://newspaper.chinazt.cc/
تأليف وصيانة لوكاس أويانغ.
قام Parse.ly برعاية بعض الأعمال في الصحف، والتي تركز بشكل خاص على الاستخراج التلقائي.
تستخدم الصحيفة الكثير من كود التحليل الخاص بـ python-goose. عرض ترخيصهم هنا.
لا تتردد في مراسلتي عبر البريد الإلكتروني والاتصال بي إذا واجهت مشكلات أو كنت ترغب فقط في التحدث عن مستقبل هذه المكتبة واستخراج الأخبار بشكل عام!