2016-10-10 101 views
2

我想从本网站提取文本:searchgurbani。这个网站有一些老的英文译文和Punjabi(印度语)逐行译。它是一个非常好的平行语料库。我已经成功地在一个单独的文本文件中提取所有英文翻译。但是当我去旁遮普时,它什么都没有返回。BeautifulSoup为什么不从网页中提取所有的HTML?

这是检查元素截图:(突出显示的文本是翻译旁遮普语)

Screenshot 1

在截图1,强调其属于类= lang_16未在汤对象中列出的文本美丽其中应包含所有的HTML。下面是Python代码:

outputFilePunjabi = open("1.txt","w",newline="",encoding="utf-16") 
r=urlopen("") 
beautiful = BeautifulSoup(r.read().decode('utf-8'),"html5lib") 
#beautiful = BeautifulSoup(r.read().decode('utf-8'),"lxml") 
punjabi_text = beautiful.find_all(class_="lang_16") 
for i in punjabi_text: 
    outputFilePunjabi.write(i.get_text()) 
    outputFilePunjabi.write('\n') 

如果我class_ = lang_4运行相同的代码,它的工作。

请执行下列操作看lang_16在检查元素:

请做网页上的以下内容:进入设置 - >勾选“灵性导师初经济的转换(由S.辛格) - Punjabi“在Guru Granth Shahib的Additional Translations下: - >向下滚动 - 提交修改 - >重新打开页面

请指导我在哪里出错。

(Python版本= 3.5)

PS:我在网上报废非常少的经验。

+0

有趣的是,我没有真正看到与元素类'=“lang_16 “”在页面上。 – alecxe

+0

请在该网页上进行以下操作:转到偏好设置 - >勾选“Sri Guru Granth Sahib ji(由S. Manmohan Singh编译) - Punjabi的翻译” Granth Shahib: - >向下滚动 - 提交更改 - >重新打开页面|您应该看到它@alecxe – ssokhey

+0

首先,“检查”不显示原始HTML,但不管其各种修改后的结果如何。使用“查看源代码”查看您希望在脚本中找到的实际源代码。然后看看是否还有什么区别。无论如何,我没有看到任何一个视图的截图中的内容。 – zvone

回答

2

记住你已经建议做到以下几点:

请做网页上的以下内容:进入设置 - >勾选 “灵性导师初经济的ranslation(由S.曼莫汉辛格) - 旁遮普”下其他的翻译宗师Granth Shahib可供选择: - >向下滚动 - 提交更改

现在,这也是当你在Python下载页面所需。换句话说,用requests设置lang_16="yes"饼干,使旁遮普翻译:

import requests 
from bs4 import BeautifulSoup 


with requests.Session() as session: 
    response = session.get("https://www.searchgurbani.com/guru_granth_sahib/ang_by_ang", cookies={ 
     "lang_16": "yes" 
    }) 
    soup = BeautifulSoup(response.content, "html5lib") 
    for item in soup.select(".lang_16"): 
     print(item.get_text()) 

打印:

ਵਾਹਿਗੁਰੂ ਕੇਵਲ ਇਕ ਹੈ। ਸੱਚਾ ਹੈ ਉਸ ਦਾ ਨਾਮ, ਰਚਨਹਾਰ ਉਸ ਦੀ ਵਿਅਕਤੀ ਅਤੇ ਅਮਰ ਉਸ ਦਾ ਸਰੂਪ। ਉਹ ਨਿਡਰ, ਕੀਨਾ-ਰਹਿਤ, ਅਜਨਮਾ ਤੇ ਸਵੈ-ਪ੍ਰਕਾਸ਼ਵਾਨ ਹੈ। ਗੁਰਾਂ ਦੀ ਦਯਾ ਦੁਆਰਾ ਉਹ ਪਰਾਪਤ ਹੁੰਦਾ ਹੈ। 
ਉਸ ਦਾ ਸਿਮਰਨ ਕਰ। 
ਪਰਾਰੰਭ ਵਿੱਚ ਸੱਚਾ, ਯੁਗਾਂ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਸੱਚਾ, 
ਅਤੇ ਸੱਚਾ ਉਹ ਹੁਣ ਭੀ ਹੈ, ਹੇ ਨਾਨਕ! ਨਿਸਚਿਤ ਹੀ, ਉਹ ਸੱਚਾ ਹੋਵੇਗਾ। 
... 
ਕਈ ਇਕ ਗਾਇਨ ਕਰਦੇ ਹਨ ਕਿ ਵਾਹਿਗੁਰੂ ਪ੍ਰਾਣ ਲੈ ਲੈਂਦਾ ਹੈ ਤੇ ਮੁੜ ਵਾਪਸ ਦੇ ਦਿੰਦਾ ਹੈ। 
ਕਈ ਗਾਇਨ ਕਰਦੇ ਹਨ ਕਿ ਹਰੀ ਦੁਰੇਡੇ ਮਲੂਮ ਹੁੰਦਾ ਅਤੇ ਸੁੱਝਦਾ ਹੈ। 
+0

它的作品像魅力!我在这里呆了两周。非常感谢。 :) :) – ssokhey

相关问题