2017-12-17 28 views
0

対象:http://voorraadmodule.vwe-advertentiemanager.nl/s9376368b43e8fd6a8025bfa284d8e732/e7c2/stock/vehicles/100/ 私はPythonを学ぶために8日間ですが、本当にそれを愛しています。対象のページは自分のスキルをテストするための私の古い雇用者です。私は彼の株式を毎日チェックして、変化する結果を与えるPythonプログラムを書こうと思っていますBeautifulSoup、Scraping、タグなしで画像サイズを取得できますか?

私にとっては、販売されているがまだページから削除されていない車のマーカー/トリガーを除いて、私が望むすべてのパラメータ。

ターゲットページにアクセスすると、画像の一部に「verkocht」のリボンが表示されます。私はすべてのHTMLを検索し、それが販売されるかどうかのコードにトリガーはありません。CMSはリボンで画像を変更するだけです。私はこれが起こるとき、サムネイルがサイズを変えることに気づいたので、私はこれを私の引き金にしたかった。

部分コード:

from bs4 import BeautifulSoup 
import requests 

url = "http://voorraadmodule.vwe-advertentiemanager.nl/s9376368b43e8fd6a8025bfa284d8e732/e7c2/stock/vehicles/100/" 
img_pre_url = "http://voorraadmodule.vwe-advertentiemanager.nl/s4c74bf131813e9d7d3232b46224830a2" 
getpage = requests.get(url) 
soup = BeautifulSoup(getpage.text, "html.parser") 

for listingparse in soup.find_all("div", class_="row clearfix "): 

    ftch_id = listingparse.get("id")[8:] 

    ftch_imgurl = listingparse.find("div", class_="columnPhoto").img["src"] 

    print("List id: "+ftch_id + "Image url: "+img_pre_url+ftch_imgurl) 

は、私はそれがより多くのパラメータとともにCSVファイルに書き込み元のでこれをdemostratingこの部分片を得ました。以下のために:「V sold_marker」販売または

最終目標は、変数を取得することです:私はnoobのは、私は2つのオプションを持っていると思うと何

だから、現在のリストについては、「sold_marker X」。 1.画像をダウンロードし、numpyでサイズを測定してください。 2.画像処理ライブラリを使用し、リボンが存在する場合は醜い緑色で測定してください。

あなたはどうやってこれを処理しますか?私は毎日これを測定するためにイメージをダウンロードする必要はないことを望んだが、私は代替がないと思う。

+0

画像がそのURL内の大きさを持っているようです。 '.../320x213/...'のようにダウンロードする必要はありません。 – furas

+0

おかげさまで、ありがとうございました!それは私の解決には十分であろうが、私は学習のためにこのパズルを解決する方法が不思議であるので質問を残す。 – user9108711

+0

サイズで画像をグループ化し、このサイズをフォルダ名に使用することは非常に一般的です。 – furas

答えて

0

イメージサイズはURLにありますので、"/"を使用してURLを分割し、リストからサイズを取得できます。

from bs4 import BeautifulSoup 
import requests 

url = "http://voorraadmodule.vwe-advertentiemanager.nl/s9376368b43e8fd6a8025bfa284d8e732/e7c2/stock/vehicles/100/" 
img_pre_url = "http://voorraadmodule.vwe-advertentiemanager.nl/s4c74bf131813e9d7d3232b46224830a2" 
getpage = requests.get(url) 
soup = BeautifulSoup(getpage.text, "html.parser") 

for listingparse in soup.find_all("div", class_="row clearfix "): 

    ftch_id = listingparse.get("id")[8:] 
    ftch_imgurl = listingparse.find("div", class_="columnPhoto").img["src"] 

    url_parts = ftch_imgurl.split('/') 

    if url_parts[-2] == "260x195": 
     verkocht = "verkocht" 
    else: 
     verkocht = "" 

    print("List id:", ftch_id) 
    print("Image url:", img_pre_url+ftch_imgurl) 
    print("image size:", url_parts[-2], verkocht) 
    print('---') 

結果: - すなわち

List id: 15668794 
Image url: http://voorraadmodule.vwe-advertentiemanager.nl/s4c74bf131813e9d7d3232b46224830a2/vehicle-images/15668794/1/1513180329/320x213/citroen-xsara-picasso-1-6i-attraction-zeer-ruime-gezinsauto 
image size: 320x213 
--- 
List id: 15529833 
Image url: http://voorraadmodule.vwe-advertentiemanager.nl/s4c74bf131813e9d7d3232b46224830a2/vehicle-images/15529833/1/1512131899/260x195/dacia-logan-mcv-1-6-laureate-zeer-ruime-buitenkans 
image size: 260x195 verkocht 
--- 
List id: 15427090 
Image url: http://voorraadmodule.vwe-advertentiemanager.nl/s4c74bf131813e9d7d3232b46224830a2/vehicle-images/15427090/1/1510153600/320x213/fiat-punto-evo-1-3-m-jet-dynamic 
image size: 320x213 
--- 
List id: 15287283 
Image url: http://voorraadmodule.vwe-advertentiemanager.nl/s4c74bf131813e9d7d3232b46224830a2/vehicle-images/15287283/1/1508421733/320x213/hyundai-matrix-1-6i-active-ek-2008-automaat-parkeersensoor-achter 
image size: 320x213 
--- 
List id: 15218532 
Image url: http://voorraadmodule.vwe-advertentiemanager.nl/s4c74bf131813e9d7d3232b46224830a2/vehicle-images/15218532/1/1513263561/260x195/land-rover-range-rover-sport-3-6-tdv8-hse-vol-met-opties 
image size: 260x195 verkocht 
--- 
List id: 13888171 
Image url: http://voorraadmodule.vwe-advertentiemanager.nl/s4c74bf131813e9d7d3232b46224830a2/vehicle-images/13888171/1/1491479399/320x213/maserati-quattroporte-4-7-s 
image size: 320x213 
--- 
関連する問題