2016-10-10 102 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

相關問題