Seite 1 von 1

crawlen (benötige hilfe beim code)

Verfasst: Sonntag 9. August 2020, 17:46
von nexuz89
]Hi zusammen ich hab da ein kleines Problem ich bin am crawlen einer Seite.
Bei dem img Url habe ich meine Probleme.
Da manche Url imgs aderst gekapselt sind.

1: Httm code:

https://www.apo-rot.de/details/ferrum-q ... tel.a__z.f

Code: Alles auswählen

<div class="col-xs-12 col-sm-12 col-md-3 margin-vert-smaller">
<div data-sourcefile="details_images.jsp" class="" style="padding:16px 10px 40px 10px;position:relative;">
<div id="pic_1" class="details_image">
<img name="/mproducts/P3733393.JPG" class="img-responsive" title="Ferrum Quarz D 6 Trituration" alt="Ferrum Quarz D 6 Trituration" src="https://bilder.apo-rot.de/mproducts/P3733393.JPG">
/div>
2: Httm code:

https://www.apo-rot.de/details/ferrum-q ... tel.a__z.f

Code: Alles auswählen

<div data-sourcefile ="details_images.jsp" class style="padding:16px 10px 40px 10px;position:relative;"">
<div id="pic_1" class="details_image" style=" display: block;"
<a class="fancybox-image" rel="productimages" href="https://bilder.apo-rot.de/xxlproducts.own/P1572690.PNG" style="height: auto;">
 <img name="/mproducts.own/P1572690.PNG" class="img-responsive" title="Ferrum-Quarz-Kapseln " alt="Ferrum-Quarz-Kapseln " src="https://bilder.apo-rot.de/mproducts.own/P1572690.PNG">
 <span class="glyphicon glyphicon-zoom-in icon-grey float-right" style="font-size:1.25rem;"></span>
 </a>
Mein Code zum scrapen ist folgender

Code: Alles auswählen

sleep(2)
    img_url_text = 'N/D'
    try:
        text = driver.find_element_by_xpath("//*[@id='pic_1']/img").get_attribute('src')
        if text is not None:
            img_url_text = text
        else: img_url_text = 'N/D'
        driver.close()
    finally:
        print(img_url_text)
wie ihr seht beide httm codes sind anders leider bekomme ich ein Fehler beim scraping , was auch logisch ist da die einen Bilder gekapselt sind und die anderen nicht.

könntet ihr mir dabei helfen das ich mit einem Code beide URL Images crawlen kann ?

Vielen dank für die Hilfe

Re: crawlen (benötige hilfe beim code)

Verfasst: Sonntag 9. August 2020, 19:12
von __deets__
Da in homöopathischen Mitteln eh nix drin ist, brauchst du nur ein Bild für alle....

SCNR.

Re: crawlen (benötige hilfe beim code)

Verfasst: Sonntag 9. August 2020, 19:29
von __blackjack__
👍 🤣

Re: crawlen (benötige hilfe beim code)

Verfasst: Montag 10. August 2020, 06:33
von Jankie
Mit folgendem Code komme ich bei beiden URLs an das Produktfoto:

Ist allerdings mit bs4 und requests gelöst, nicht mit selenium.

Code: Alles auswählen

from bs4 import BeautifulSoup
import requests


HEADERS = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"}


URLS = ["https://www.apo-rot.de/details/ferrum-quarz-kapseln/1572690.html?_menuid=7688868&_nav=alternative_therapien.homoeopathie.komplexmittel.a__z.f",
        "https://www.apo-rot.de/details/ferrum-quarz-d-6-trituration/3733393.html?_menuid=7688868&_nav=alternative_therapien.homoeopathie.komplexmittel.a__z.f"]

def main():
    for url in URLS:
        page = requests.get(url, headers=HEADERS)
        soup = BeautifulSoup(page.content, "html.parser")
        product = soup.find('div',{'class':'details_image'})
        image_urls = product.find_all('img',{'class':'img-responsive'})
        for image_url in image_urls:
            print(image_url['src'])

main()

Re: crawlen (benötige hilfe beim code)

Verfasst: Montag 10. August 2020, 18:22
von nexuz89
Super, ich danke dir hat funktioniert :)

Re: crawlen (benötige hilfe beim code)

Verfasst: Montag 10. August 2020, 19:34
von __deets__
Jankie hat geschrieben: Montag 10. August 2020, 06:33 Mit folgendem Code komme ich bei beiden URLs an das Produktfoto:

Ist allerdings mit bs4 und requests gelöst, nicht mit selenium.
Das ist dem TE egal, er schnorrt sich eh einfach nur überall seine Skripte zusammen.


https://greasyfork.org/de/discussions/d ... g-problems

und so weiter.