2016-11-17 7 views
0

私は製品IDを取得するためにFlipkartのウェブサイトを掻き集めようとしていました。私はthis linkをすべての製品のリストに使用しました。製品のURLにPIDが保持されます。だから、私はURLを取得しようとしていた、次は私のコードです。Python - Flipkartを取得する製品ID

>>> from bs4 import BeautifulSoup 
>>> import requests 
>>> url = "https://www.flipkart.com/search?q=samsung%20mobiles&otracker=start&as-show=on&as=off" 
>>> data = requests.get(url, headers={ 
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36" 
}).content 
>>> soup = BeautifulSoup(data, "lxml") 
>>> soup.find_all('div', 'col zZCdz4') 
[] 

しかし、空のリストを返していました。だから私は、プロダクトIDを取得するために彼らのAPIを使用してみました、次のコードです:

>>> import requests 
>>> headers = ({"x-user-agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.92 Safari/537.36 FKUA/website/41/website/Desktop"}) 
>>> data = requests.get("https://affiliate-api.flipkart.net/affiliate/1.0/booksApi/jerilwork.json", headers=headers) 

それは私にJSON形式でいくつかの詳細を戻して、次の辞書の単一の項目です:

{"name":"Cursive Writing","url":"https://affiliate-api.flipkart.net/affiliate/1.0/booksFeeds/jerilwork/category/bks-fnf-fs6-mak-8lf.json?expiresAt=1479434177786&sig=4710ea4a9633e4e046938c7d47cf53b7","id":"8lf","subCategories":[]} 

API Documentationでは、上記のURL "url":"https://affiliate-api.flipkart.net/affiliate/1.0/booksFeeds/jerilwork/category/bks-fnf-fs6-mak-8lf.json?expiresAt=1479434177786&sig=4710ea4a9633e4e046938c7d47cf53b7"を使用して製品IDを取得することができますが、私は空のリストを返しています。

誰かが私に助けてくれますか?私はどこでミスをしているのですか?どのカテゴリの製品ID(携帯電話や携帯電話など)を入手するにはどうしたらいいですか?親切に助けてください。

答えて

0

データはJavaスクリプトで取得されるため、データを取得するURLをリクエストすることはできません。私のアドバイスはセレンを使用しています。 この回答が役に立ったら嬉しいです。

関連する問題