2016-04-30 112 views
0

我想从这个网站得到一个项目的价格抽取数据:https://paytm.com/shop/p/demonio-SUNDEMONIOS-R-193973BC69538C?tracker=%7C%7C%7C%7C%2Fh%2Fbrand-store%2Ffashion-sale-Best-Selling%20Products%7C1无法从网站

价格位于以下标签:

<span ng-if="!product.product.isOnlyCarCategory">Buy for Rs 79</span> 

我使用下面的代码,但它返回一个空列表。

import requests 
from bs4 import BeautifulSoup 
s=str(raw_input()) 
r=requests.get(s) 
soup=BeautifulSoup(r.content) 
item_name=soup.find_all("span",{"ng-if":"!product.product.isOnlyCarCategory"}) 
print item_name 

回答

1

通过在URL中附加&callback=angular.callbacks._0&channel=web&version=2,您可以获得包含产品数据的json。

https://catalog.paytm.com/v1/p/demonio-SUNDEMONIOS-R-193973BC69538C?tracker=%7C%7C%7C%7C%2Fh%2Fbrand-store%2Ffashion-sale-Best-Selling%20Products%7C1&callback=angular.callbacks._0&channel=web&version=2

然后,您可以分析这样的结果(我假设你有兴趣的价格):

import json 
import requests 

r = requests.get(url) 
d = json.loads(r.text.split('\n')[1][:-2]) 
print(d['offer_price']) 

上述会给你79