2017-01-05 4 views
0

を取得し、画像は常に同じであるが、特定の画像ループトラフページは、いつも私がループトラフページにしようとしている同じ結果

import urllib.request 
from bs4 import BeautifulSoup as bs 

frontstring = 'http://www.haz.de/' 

for i in range(1, 50): 
    url = 'http://www.haz.de/Hannover/Aus-der-Region/Lehrte/Fotostrecken/' \ 
     + 'Digitales-Daumenkino-So-waechst-das-Parkhaus#p' + str(i) 

    with urllib.request.urlopen(url) as page: 
     soup = bs(page) 
     galleryimage = soup.findAll('img', {'class': 'pda-fullgallery-large photo'}) 

     for imgtag in galleryimage: 
      try: 
       imgurl = frontstring + imgtag['src'] 
       imgname = 'img/fullgallery-large' + str(i) + '.jpg' 
       urllib.request.urlretrieve(imgurl, imgname) 
       print('saving image from ' + imgurl + ' to ' + imgname) 
      except Exception as e: 
       raise 
      else: 
       pass 

を保存します。どこが間違っているのか分かりません。ブラウザでURLを開くと正しいページとイメージが表示されますが、スープは常に同じコードに見えます。おそらく本当にばかげてシンプルだけど、間違いを見つけて本当に長い間試してみたのです。

+0

こんにちは、JavaScriptコードによって生成された画像リンクのため、pythonコードを使用して画像をダウンロードすることはできません。 HTMLコードには同じ画像へのリンクが1つしか含まれていません。たとえばブラウザをエミュレートするためにセレンを試してみてください。 – sr3z

+0

私はあなたが何を意味するか完全に理解できないと思いません。 [#p1](http://www.haz.de/Hannover/Aus-der-Region/Lehrte/Fotostrecken/Digitales-Daumenkino-So-whechst-das-Parkhaus#p2)は、[#p1]とは別の画像です( http://www.haz.de/Hannover/Aus-der-Region/Lehrte/Fotostrecken/Digitales-Daumenkino-So-whechst-das-Parkhaus#p2)または3、4、5 ... 50。私は50を得る別のページ、次に画像。少なくともそれがアイディアです。 – sezi80

+0

しかし、すべてのページでhtmlコードを開くと、同じ画像URLしか見つからず、期待どおりの違いはありません。 javascriptは各ページのURLを更新します。 BeautifulSoupはjavascriptコードを実行できないため、各ページに同じ画像を保存します – sr3z

答えて

0
http://www.haz.de/Hannover/Aus-der-Region/Lehrte/Fotostrecken/Digitales-Daumenkino-So-waechst-das-Parkhaus 
http://www.haz.de/Hannover/Aus-der-Region/Lehrte/Fotostrecken/Digitales-Daumenkino-So-waechst-das-Parkhaus/(offset)/1 
http://www.haz.de/Hannover/Aus-der-Region/Lehrte/Fotostrecken/Digitales-Daumenkino-So-waechst-das-Parkhaus/(offset)/2 
http://www.haz.de/Hannover/Aus-der-Region/Lehrte/Fotostrecken/Digitales-Daumenkino-So-waechst-das-Parkhaus/(offset)/3 

これらは実際のURLであり、JavaScriptによって生成されたURLです。任意のサイトを削る前にJavaScripを無効にする必要があります

関連する問題