2017-06-21 71 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或请求模块不能解决连接,所以我使用硒,它的工作原理。