Python——从报纸网站获取文本[重复]

Posted

技术标签:

【中文标题】Python——从报纸网站获取文本[重复]【英文标题】:Python -- Obtaining text from newspaper website [duplicate] 【发布时间】:2017-11-11 02:14:31 【问题描述】:

我从事了一个宠物项目: 从报纸网站获取“英文文本”并将其转储到文件中。 通过我的研究,我接触到了一些有趣的模块,比如 bs4、re 等 我当前的脚本使用 bs4。脚本语言:Python(2.7)。请看一下。

from bs4 import BeautifulSoup
import urllib2

from_the_web = urllib2.urlopen("http://www.thehindu.com/todays-paper/tp-national/") #This is a file-object
soup = BeautifulSoup(from_the_web.read(),'html.parser')

myFile = open('Nag.txt','w')
myFile.truncate()
myFile.write("These are the results from thehindu.com:\n\n")

failures = 0
for line in soup.get_text():
    try:
        myFile.write(line)
    except:
        failures += 1

print "Successfully written lines with %d failures" %(failures)
myFile.close()

print "Done"

我已经能够提取所有文本,但是,很多非英文文本也被转储到我的文件 (Nag.txt) 中。这是一个示例:

(function (w, d, u) 
w.readyQ = [];
w.bindReadyQ = [];
function p(x, y) 
if (x == "ready") 
w.bindReadyQ.push(y);
 else 
w.readyQ.push(x);

;
var a = ready: p, bind: p;
w.$ = w.jQuery = function (f) 
if (f === d || f === u) 
return a
 else 
p(f)


)(window, document)

这是与 HTML 相结合的其他脚本语言吗?如果有,请给出如何从网站获取纯英文文本的建议。

【问题讨论】:

请发布 Nag.txt 的内容 我的朋友,内容太多了,***说我超过了字数限制。我建议你运行上面的python代码自己看看。 【参考方案1】:

您需要使用 BeautifulSoup 过滤掉<script> 标签。例如,

soup.find_all("div")

【讨论】:

以上是关于Python——从报纸网站获取文本[重复]的主要内容,如果未能解决你的问题,请参考以下文章

安装报纸时出现 ImportError

python 如何在Amazon Lambda函数中运行报纸

Python+ Calibre 处理 中文报纸

构架人生~报纸上的求职

电子报纸教程--部署篇

P4905 报纸(最小割)