2016-12-22 20 views
1

私はshutterstock内の検索ページからデータIDを収集しようとしています。これはHTMLの外観ですbeautifulsoupを使用してデータを個別に保存します

<i class="i i-lightbox sstk-icon icon-plus-sign js_lightbox_add" data-id="253869514" data-tooltip-title="Add to a lightbox" data-lightboximageid="253869514" data-toggle="modal" data-target=".lightbox-modal" data-track="click.searchResults-saveToLightboxModal" data-original-title="" title=""></i> 

データIDの値を保存して、別に印刷できるようにします。

例えば、このコードは動作しません、それだけを返しません: "なし"

url = "https://www.shutterstock.com/search/test?autocomplete_id=&language=en&search_source=&version=llv1&image_type=images&safe=true" 
r = requests.get(url) 
data = r.text 
soup = BeautifulSoup(data) 
for n in soup.find_all('i'): 
    showdata = n.get('data-id') 

print showdata 

そして、私はshowdata = n.get( 'データ-ID')に変更の場合には:印刷n.get(」 data-id ') すべてのdata-idが返されますが、すべて一緒になります。あなたは今まであなたがshowdataを上書きイテレーション、そして最後の要素はクラスdata-idを持っていないことがわかります

for n in soup.find_all('i'): 
    showdata = n.get('data-id')  
    print showdata 

:だから私はこれを行う別途

答えて

1

をそれらすべてを印刷することはできません。

だから、これはあなたにすべての非なしのリストが表示されます一致します。これは、たくさん私を助け

all_data_ids = [] 
for n in soup.find_all('i'): 
    showdata = n.get('data-id') 
    if showdata: 
     all_data_ids.append(showdata) 

print all_data_ids 
+0

感謝を。これはまさに私が探していたものでした! – user7329477

+0

喜んで助けてください。 :)ちょうどupvoteとSOの答えがあなたの好みにある場合を除いて – Roman

+0

これは新しいアカウントですので、私は今upvoteすることはできません申し訳ありません! – user7329477

関連する問題