2017-12-17 17 views
0

대상 : http://voorraadmodule.vwe-advertentiemanager.nl/s9376368b43e8fd6a8025bfa284d8e732/e7c2/stock/vehicles/100/ 나는 파이썬을 배우기 위해 8 일이며, 정말 좋아합니다. 대상 페이지는 내 나이가 고용주, ​​내 능력을 매일 매일 그의 주식을 확인하고 내게 변화하는 결과 (판매, 할인 된 가격 요법)를 제공하는 비단뱀 프로그램을 작성하고 싶습니다BeautifulSoup, 근근이 살아가고, 태그에 들어 가지 않고 이미지 크기를 얻으시겠습니까?

내게는 가능합니다 판매되고 있지만 아직 페이지에서 삭제되지 않은 자동차의 마커/트리거를 제외한 모든 매개 변수를 원합니다.

대상 페이지에 액세스하면 일부 이미지에 "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'판매 또는

최종 목표는 변수를 얻을 것입니다 : 내가 멍청한 놈 내가이 옵션을 가지고 생각으로 무엇을

그래서 현재 목록에 대한 'sold_marker X'. 1. 이미지를 다운로드하고 numpy로 크기를 측정하십시오. 2. 이미지 프로세싱 lib를 사용하고 리본이있는 경우 추악한 녹색 색상으로 측정하십시오.

어떻게 처리할까요? 나는 이것을 측정하기 위해 매일 이미지를 다운로드하지 않기를 바랐다. 그러나 나는 대안이 없다고 생각한다.

+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 
---