2017-06-21 40 views
0

我的機器:美麗的湯輸出{{model.attribute}},而不是普通的文本

  • 列表項

  • 的Ubuntu 16.04。

  • Python 3.5.2。
  • bs4 4.6.0。
  • lxml 3.8.0。

我試圖解析tokopedia site。這是我的代碼:

tokopedia_link = 'https://www.tokopedia.com/search?st=product&q=baju+baru' 
req = urllib.request.Request(tokopedia_link) 
req.add_header('User-agent', 'Mozilla 5.10') 
with urllib.request.urlopen(req) as response: 
    the_page = response.read() 
soup = BeautifulSoup(the_page, "lxml") 
print (soup.prettify()) 

輸出我認爲是django模型框架前。 {{model.attribute}}。

enter image description here

但是,如果我救tokopedia網站,然後將其放置在網站的Apache2文件夾,然後我改變tokopedia_link到我的本地網站,它正常輸出。

有什麼建議嗎?

更新1:
我檢查的print(the_page)輸出,並將其打印相同的奇怪結果。所以我的結論是問題是打開網址時。

更新2:
我嘗試使用請求模塊來創建URL的連接。還是一樣的結果。

payload = {'st': 'product', 'q': 'baju baru'} 
headers = {'user-agent': 'Mozilla/5.0'} 
r = requests.post('http://www.tokopedia.com/search', params=payload, headers=headers) 

更新3:
我嘗試解析amazon.com和輸出是正常的。基於Django框架的網絡是否導致這個問題?我將創建基於django的Web進行研究。
更新4:
我創建了基於django的網頁,然後解析它,並沒有什麼奇怪的輸出。
更新5:
我做了更多的研究,它可能是angularjs的問題。我在網站代碼中看到ng-cloak ng-binding

+0

您應該發佈您的_problem resolved_update以作爲未來用戶清晰的答案。 – Bugs

回答

0

更新6: 問題解決。基於angularjs的web是個問題。 Urllib或請求模塊不能解決連接,所以我使用硒,它的工作原理。