2016-10-30 5 views
1

私はPythonの初級者です。私はちょうどamazonページの製品リンクをスクラップしたいと思います。 には、例えば、私はこのページ http://www.amazon.com/s/ref=sr_in_-2_p_4_18?me=A3MZ96G5C78IVQ&fst=as%3Aoff&rh=p_4%3AFunKo&ie=UTF8&qid=1477811368をスクラップしたいと私はちょうど出力などの製品のタイトルリンクをしたいのpythonPythonを使用してamazon製品のリンクを抽出する方法

from bs4 import BeautifulSoup 
import requests 
url = "http://www.amazon.com/s/ref=sr_in_-2_p_4_18?me=A3MZ96G5C78IVQ&fst=as%3Aoff&rh=p_4%3AFunKo&ie=UTF8&qid=1477811368" 
r = requests.get(url) 
soup = BeautifulSoup(r.content, "lxml") 

file = open("parseddata.txt", "wb") 

links = soup.find_all('a', {'class': 'a-link-normal s-access-detail-page a-text-normal'}) 

for link in links: 
print(link.get('href')) 
file.write(href + '\n') 
file.close() 

でこのコードを使用します。誰が私が間違っているのか教えてもらえますか?

+0

あなたはあなたのコードが何をする期待し、それが実際に何をするのでしょうか?エラーメッセージや警告が表示されますか?結果は間違っていますか?もしそうなら、どんな点で? –

+0

@Gurpeet Singhあなたはこれをやってはいけません(何か深刻なことがあれば)、開発者のためにアマゾンにapiがあることを知って欲しいですか? – danidee

答えて

1

headeruser-agentを追加して、あなたがロボットではないふりをしてください。

from bs4 import BeautifulSoup 
import requests 
url = "http://www.amazon.com/s/ref=sr_in_-2_p_4_18?me=A3MZ96G5C78IVQ&fst=as%3Aoff&rh=p_4%3AFunKo&ie=UTF8&qid=1477811368" 

# add header 
headers = { 
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36' 
} 
r = requests.get(url, headers=headers) 
soup = BeautifulSoup(r.content, "lxml") 

file = open(r"parseddata.txt", "w") 

links = soup.find_all('a', {'class': 'a-link-normal s-access-detail-page a-text-normal'}) 

for link in links: 
    print(link.get('href')) 
    file.write(link.get('href')+ '\n') 
file.close() 

結果

https://www.amazon.com/Funko-POP-Marvel-Dancing-Bobble/dp/B00N1EJXUU/ref=sr_1_1/160-5408618-6684940?m=A3MZ96G5C78IVQ&s=merchant-items&ie=UTF8&qid=1477822032&sr=1-1&refinements=p_4%3AFunKo 
https://www.amazon.com/Funko-POP-Movies-Potter-Action/dp/B019JIA4IQ/ref=sr_1_2/160-5408618-6684940?m=A3MZ96G5C78IVQ&s=merchant-items&ie=UTF8&qid=1477822032&sr=1-2&refinements=p_4%3AFunKo 
https://www.amazon.com/FunKo-2390-Funko-Darth-Maul/dp/B005F1QBMK/ref=sr_1_3/160-5408618-6684940?m=A3MZ96G5C78IVQ&s=merchant-items&ie=UTF8&qid=1477822032&sr=1-3&refinements=p_4%3AFunKo 
........ 
+1

ありがとうございました@Aaron、今すぐ働いています。 –

関連する問題