Scrapy

0

Próbuję zainstalować scrapy:

pip install Scrapy

Proces instalacji nie przebiega poprawnie, więc się nie instaluje.
Nie poddaje się i instaluje miniconde3, a potem instalacja:

conda install -c scrapinghub scrapy

Wszystko cacy, tworzę projekt

$ scrapy startproject scrapy_pl
$ cd scrapy_pl
$ scrapy genspider basic quotes.toscrape.com
scrapy shell 'http://quotes.toscrape.com/page/1'

wszystko działa, ale jak uruchamiam projekt z pliku basic.py

import scrapy


class BasicSpider(scrapy.Spider):
    name = 'basic'
    allowed_domains = ['quotes.toscrape.com']
    start_urls = ['http://quotes.toscrape.com/']

    def parse(self, response):
        for quote in response.css('div.quote'):
            yield {
                'text': quote.css('span.text::text').get(),
                'author': quote.css('small.author::text').get(),
                'tags': quote.css('a.tag::text').getall(),
            }

        next_page = response.css('li.next a::attr(href)').get()
        if next_page is not None:
            yield response.follow(next_page, self.parse)

To dostaje:

ModuleNotFoundError: No module named 'scrapy'

Bawiłem się BeautifulSoup i działa jak ta lala, ale nie do końca. Wynik HTML odbiego od tego co jest w przeglądarce. Dla tego chcę się zmierzyć ze Scrapy.

Pozdrawiam

0

Odnośnie mojego komentarza ja musiałem ostatnio dodać coś takiego:

import requests
from requests import get
from bs4 import BeautifulSoup


headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"}
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.text, 'html.parser')

i normalnie w soup miałem dokładnie to co w przeglądarce. Bez tego user-agent strona zwracała komunikat, ze nie obsługiwana przeglądarka. Sprawdź dokładnie user-agent jaki zwraca Ci strona i spróbuj go dodać do headers i powinno działać :)

0

A nie powinno być pip install scrapy?

0

@woolfik:
Mój nagłówek to:

headers = {"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
           "Accept-Encoding": "gzip, deflate, br",
           "Accept-Language": "pl,en;q=0.9,en-GB;q=0.8,en-US;q=0.7",
           "Sec-Fetch-Dest": "document",
           "Sec-Fetch-Mode": "navigate",
           "Sec-Fetch-Site": "none",
           "Upgrade-Insecure-Requests": "1",
           "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36 Edg/87.0.664.41",
           "X-Amzn-Trace-Id": "Root=1-5fbc1d9c-123b7f4941213e6147a83977"}

Ściemniam jak się da :) Brakuje tu tylko "Host"
Brakuje mi na przykład pojawiających się ramek, np po najechaniu myszki na zdjęcie. Odnośnie grafiki dostaje linki .webp mimo że nagłówki wskazują przeglądarkę Edge.

0

@woolfik: Różne:

Ten HTML wyciąłem ręcznie z przeglądarki która pobrała samodzielnie kod z serwera

<article data-analytics-enabled="true" data-item="true" data-analytics-view-value="6998099879" data-analytics-view-custom-page="1" data-analytics-view-custom-index0="4" data-role="offer" data-analytics-view-custom-deliverylabel="dostawa w&nbsp;poniedziałek" data-visible-for="19813" data-seen="true"><div class="mpof_ki mqen_m6 mp7g_oh mh36_0 mvrt_0 mg9e_8 mj7a_8 m7er_k4 _1y62o _9c44d_1I1gg"><div><div class="mpof_ki myre_zn m389_6m m09p_k4 mse2_56 _9c44d_2Tos9"><a href="https://allegro.pl/oferta/stomil-plyta-gumowa-wykladzina-mata-3mm-metro-guma-6998099879" class="msts_9u mg9e_0 mvrt_0 mj7a_0 mh36_0 mpof_ki m389_6m mx4z_6m m7f5_6m mse2_k4 m7er_k4 _9c44d_1ILhl" rel="nofollow"><img alt="" src="https://a.allegroimg.com/s180/117b77/3ce1f3094d72b4267fe8cfc8f172/Stomil-PLYTA-GUMOWA-WYKLADZINA-MATA-3mm-METRO-GUMA"></a><div class="mpof_5r mpof_z0_x mzmg_6m _9c44d_3vuAD"><span class="mpof_vs _1y62o _9c44d_3TcIv">dostępne warianty</span></div></div><div class="mp7g_f6 mq1m_0 m9vn_gl mj6k_91 _9c44d_2ad5I " style="top: -194.5px; bottom: auto;"><div class="mpof_ki msts_9u mgmw_og mgn2_13 mp0t_0a myre_8v mwdn_1 mzmg_7i msa3_ae mse2_56 mqu1_21 _9c44d_ZJiaC"><div class="mpof_ki m389_6m _9c44d_1uyT-"><div class="munh_56"><div class="mpof_ki"><i class="_6gjm5 _9c44d_cK8mU mpof_5r"></i><button type="button" class="_w7z6o _ypulx mpof_ki m389_6m mp7g_oh mp4t_0 m3h2_0 mryx_0 munh_0 _9c44d_2zqM4 _9c44d_-rZms">OBSERWUJESZ</button></div></div></div><div class="mpof_ki mse2_k4 _9c44d_251O-"><div class="meqh_en m7er_k4 _9c44d_3_fkD"><div class="msts_9u mp7g_oh mse2_k4 m7er_k4 _9c44d_2Narh _9c44d_TjYQd"><a href="https://allegro.pl/oferta/stomil-plyta-gumowa-wykladzina-mata-3mm-metro-guma-6998099879"><ul class="mpof_ki m389_6m m7f5_5x mse2_k4 m7er_k4 mp4t_0 m3h2_0 mryx_0 munh_0 mg9e_0 mvrt_0 mj7a_0 mh36_0 _9c44d_rC-QB"><li class="mpof_ki m389_6m m7f5_6m mse2_k4 m7er_k4 mp4t_0 m3h2_0 mryx_0 munh_0 mg9e_0 mvrt_0 mj7a_0 mh36_0 _9c44d_QEuaw"><img alt="" src="https://a.allegroimg.com/s360/117b77/3ce1f3094d72b4267fe8cfc8f172/Stomil-PLYTA-GUMOWA-WYKLADZINA-MATA-3mm-METRO-GUMA" class="msub_k4 mjru_k4 m389_6m _9c44d_15ZGv"></li><li class="mpof_ki m389_6m m7f5_6m mse2_k4 m7er_k4 mp4t_0 m3h2_0 mryx_0 munh_0 mg9e_0 mvrt_0 mj7a_0 mh36_0 _9c44d_QEuaw"><img alt="" src="https://f.allegroimg.com/s360/03d02c/04b1a3504222a3527d64aa791d5f/Stomil-PLYTA-GUMOWA-WYKLADZINA-MATA-3mm-METRO-GUMA-Kod-produktu-G25-3-M" class="msub_k4 mjru_k4 m389_6m _9c44d_15ZGv"></li></ul></a><span class="mpof_z0 mp7g_f6 msa3_z4 meqh_en mqen_m6 mj6k_n7 _9c44d_vawkL _9c44d_eaRk2" style="display: none;"></span><span class="mpof_z0 mp7g_f6 msa3_z4 meqh_en mqen_m6 mj6k_n7 _9c44d_vawkL _9c44d_2iwmK" style="display: block;"></span></div><div class="mjyo_lo mp7g_oh _9c44d_e5AKz"><div class="mp7g_oh mzmg_7i meqh_en munh_56 m3h2_56 mp4t_0 mryx_0 mg9e_0 mvrt_0 mj7a_0 mh36_0 m7er_56"><ul class="mp4t_0 m3h2_0 mryx_0 munh_0 mg9e_0 mvrt_0 mj7a_0 mh36_0 _9c44d_2drFj"><li class="m0t1_7i mpof_z0 mg9e_0 mvrt_0 mj7a_0 mh36_0 _9c44d_3OHA9" data-analytics-interaction="true" data-analytics-interaction-label="clickThumbnail" data-analytics-interaction-value="6998099879" data-analytics-interaction-custom-image-count="2" data-analytics-interaction-custom-current-image-index="0"><span data-main-photo="true" class="msts_9u mpof_ki m389_6m m7f5_6m meqh_en munh_56 m3h2_56 mp4t_0 mryx_0 mg9e_0 mvrt_0 mj7a_0 mh36_0 m7er_56 mqen_m6 _9c44d_2yMrR _9c44d_2tDbK"><img src="https://a.allegroimg.com/s64/117b77/3ce1f3094d72b4267fe8cfc8f172/Stomil-PLYTA-GUMOWA-WYKLADZINA-MATA-3mm-METRO-GUMA" alt="" class=" ls-is-cached lazyloaded"></span></li><li class="m0t1_7i mpof_z0 mg9e_0 mvrt_0 mj7a_0 mh36_0 _9c44d_3OHA9" data-analytics-interaction="true" data-analytics-interaction-label="clickThumbnail" data-analytics-interaction-value="6998099879" data-analytics-interaction-custom-image-count="2" data-analytics-interaction-custom-current-image-index="1"><span data-main-photo="true" class="msts_9u mpof_ki m389_6m m7f5_6m meqh_en munh_56 m3h2_56 mp4t_0 mryx_0 mg9e_0 mvrt_0 mj7a_0 mh36_0 m7er_56 mqen_m6 _9c44d_2yMrR"><img src="https://f.allegroimg.com/s64/03d02c/04b1a3504222a3527d64aa791d5f/Stomil-PLYTA-GUMOWA-WYKLADZINA-MATA-3mm-METRO-GUMA-Kod-produktu-G25-3-M" alt="" class=" ls-is-cached lazyloaded"></span></li></ul></div><i class="mp7g_f6 msa3_z4 mqen_m6 mj6k_n7 mj7u_0 _9c44d_1pjgx" style="display: none;"></i><i class="mp7g_f6 msa3_z4 mqen_m6 mj6k_n7 mnjl_0 _9c44d_3O2Gx" style="display: none;"></i></div></div></div><div class="mpof_ki myre_zn mr3m_1 _9c44d_1Emqy"><h2 class="mgn2_14 m9qz_yp mqu1_16 mp4t_0 m3h2_0 mryx_0 munh_0"><a class="_w7z6o _uj8z7 meqh_en mpof_z0 mqu1_16 _9c44d_2vTdY" href="https://allegro.pl/oferta/stomil-plyta-gumowa-wykladzina-mata-3mm-metro-guma-6998099879" title="">Stomil PŁYTA GUMOWA WYKŁADZINA MATA 3mm METRO GUMA</a></h2><div class="mpof_ki mwdn_1 m389_6m _9c44d_3_ENH"><div class="mpof_ki m389_6m msa3_z4 mgn2_13">od <div class="mpof_ki mp7g_oh _9c44d_tND42"><div class="mp7g_oh mse2_k4 m7er_k4 _9c44d_2bELB"><i class="m7er_k4 mse2_k4 _9c44d_2oIOS _9c44d_3rJUT" role="img"></i><div class="mp7g_f6 _9c44d_1_X0Q mpof_5r"></div></div></div> Super Sprzedawcy</div><span class="meqh_en mgn2_14 mli8_k4 _1y62o _1vx3o _9c44d_179yK"><a href="https://allegro.pl/uzytkownik/contakt_pl" data-analytics-clickable="true" data-analytics-click-label="sellerLogin" data-analytics-click-value="34779184" data-analytics-click-custom-item-id="6998099879" class="_w7z6o _9c44d_18zuU">contakt_pl - 99,9%</a></span></div><div class="_9c44d_1FhID"><div class="mqu1_1 mgn2_32 mgn2_30_s"><div class="msa3_z4 _9c44d_2K6FN"><span class="_1svub _lf05o">30,<span class="_qnmdr">50 zł</span></span></div></div></div><div class="mpof_ki mwdn_1 m389_6m _9c44d_2N2Fq"><span class="msa3_z4">11 osób kupiło</span></div><div class="mpof_ki mwdn_1 m389_6m mx7m_1 m911_co mnyp_co mlkp_ag mgmw_og mqu1_g3 mpof_ki myre_zn m7f5_5x _9c44d_1hGDe"><span class="mgmw_lo">Przewidywana&nbsp;dostawa: w&nbsp;poniedziałek</span><span class="mgmw_lo">Dostawa od 13,41 zł</span></div><div class="mp7g_oh _9c44d_3eQJO"><div class="mpof_z0 mse2_k4 meqh_en"><div><span class="mpof_z0 mvrt_0 mh36_0 _9c44d_fr3WL">Kolor/wzór</span><div class="mp7g_oh _9c44d_1RbXs"><i class="mp7g_f6 mpof_vs msts_9u msa3_z4 mqen_m6 mjb5_1 _9c44d_-bpMb mpof_5r mj7u_0 _9c44d_RWqte" data-analytics-interaction="true" data-analytics-interaction-label="prevVariant" data-analytics-interaction-value="6998099879" data-analytics-interaction-custom-offer-category-path="4bd97d96-f0ff-46cb-a52c-2992bd972bb1,16696,121333,121438"></i><div class="mp7g_oh meqh_en _9c44d_2S8Yk"><ul class="mpof_92 mg9e_0 mvrt_0 mj7a_0 mh36_0 mp4t_0 m3h2_0 mryx_0 munh_0 msa3_z4 _9c44d_3VGnM" style="transform: translateX(0px);"><li class="mpof_vs msts_9u mqen_m6 munh_0 _9c44d_3YDrY mpof_ki m389_6m m7f5_6m _9c44d_272-- mg9e_0 mvrt_0 mj7a_0 mh36_0 _9c44d_1UeHH"><a href="https://allegro.pl/oferta/stomil-plyta-gumowa-wykladzina-mata-3mm-metro-guma-6998099879"><img data-src="https://a.allegroimg.com/s64/117b77/3ce1f3094d72b4267fe8cfc8f172" alt="" class=" lazyloaded" src="https://a.allegroimg.com/s64/117b77/3ce1f3094d72b4267fe8cfc8f172"></a></li><li class="mpof_vs msts_9u mqen_m6 munh_0 _9c44d_3YDrY mpof_ki m389_6m m7f5_6m _9c44d_272--"><a href="https://allegro.pl/oferta/stomil-plyta-gumowa-waski-ryfel-4mm-wykladzina-6998108860"><img data-src="https://a.allegroimg.com/s64/114e8e/3a9fd45b4f95bb31a8dd13de5c78" alt="" class=" lazyloaded" src="https://a.allegroimg.com/s64/114e8e/3a9fd45b4f95bb31a8dd13de5c78"></a></li><li class="mpof_vs msts_9u mqen_m6 munh_0 _9c44d_3YDrY mpof_ki m389_6m m7f5_6m _9c44d_272--"><a href="https://allegro.pl/oferta/stomil-plyta-gumowa-waski-ryfel-3mm-wykladzina-6998107648"><img data-src="https://a.allegroimg.com/s64/11e10e/8ca1236e4d999b28df54d07243f3" alt="" class=" lazyloaded" src="https://a.allegroimg.com/s64/11e10e/8ca1236e4d999b28df54d07243f3"></a></li><li class="mpof_vs msts_9u mqen_m6 munh_0 _9c44d_3YDrY mpof_ki m389_6m m7f5_6m _9c44d_272--"><a href="https://allegro.pl/oferta/stomil-plyta-gumowa-szeroki-ryfel-3mm-wykladzina-6998113639"><img data-src="https://a.allegroimg.com/s64/11eb9f/3e8548dd4a27927e7e1d7f3547f9" alt="" class=" lazyloaded" src="https://a.allegroimg.com/s64/11eb9f/3e8548dd4a27927e7e1d7f3547f9"></a></li><li class="mpof_vs msts_9u mqen_m6 munh_0 _9c44d_3YDrY mpof_ki m389_6m m7f5_6m _9c44d_272--"><a href="https://allegro.pl/oferta/stomil-plyta-gumowa-szeroki-ryfel-4mm-wykladzina-6998125075"><img data-src="https://a.allegroimg.com/s64/113d3a/5c9df39a45999e58d565046da230" alt="" class=" ls-is-cached lazyloaded" src="https://a.allegroimg.com/s64/113d3a/5c9df39a45999e58d565046da230"></a></li><li class="mpof_vs msts_9u mqen_m6 munh_0 _9c44d_3YDrY mpof_ki m389_6m m7f5_6m _9c44d_272--"><a href="https://allegro.pl/oferta/stomil-plyta-gumowa-wykladzina-mata-4mm-metro-guma-6998100781"><img data-src="https://a.allegroimg.com/s64/11ef7c/e6a0af1c499b9e1b8a317479ec94" alt="" class=" ls-is-cached lazyloaded" src="https://a.allegroimg.com/s64/11ef7c/e6a0af1c499b9e1b8a317479ec94"></a></li></ul></div><i class="mp7g_f6 mpof_vs msts_9u msa3_z4 mqen_m6 mjb5_1 _9c44d_-bpMb mnjl_0 _9c44d_3pSkI" data-analytics-interaction="true" data-analytics-interaction-label="nextVariant" data-analytics-interaction-value="6998099879" data-analytics-interaction-custom-offer-category-path="4bd97d96-f0ff-46cb-a52c-2992bd972bb1,16696,121333,121438"></i></div></div></div></div><button class="_13q9y _8tsq7 mryx_8 mp4t_8">dodaj do koszyka</button></div></div></div></div><div class="mpof_ki myre_zn _9c44d_1Hxbq"><div class="m7er_k4 _9c44d_3TzmE"><h2 class="mgn2_14 m9qz_yp mqu1_16 mp4t_0 m3h2_0 mryx_0 munh_0"><a class="_w7z6o _uj8z7 meqh_en mpof_z0 mqu1_16 _9c44d_2vTdY" href="https://allegro.pl/oferta/stomil-plyta-gumowa-wykladzina-mata-3mm-metro-guma-6998099879" title="">Stomil PŁYTA GUMOWA WYKŁADZINA MATA 3mm METRO GUMA</a></h2><div class="mpof_ki m389_6m msa3_z4 mgn2_13">od <div class="mpof_ki mp7g_oh _9c44d_tND42"><div class="mp7g_oh mse2_k4 m7er_k4 _9c44d_2bELB"><i class="m7er_k4 mse2_k4 _9c44d_2oIOS _9c44d_3rJUT" role="img"></i><div class="mp7g_f6 _9c44d_1_X0Q mpof_5r"></div></div></div> Super Sprzedawcy</div><div class="mpof_z0 m7er_k4"><div class="mgn2_13 mpof_5r mpof_z0_s "><dl class="mp4t_0 m3h2_0 mryx_0 munh_0 mg9e_0 mvrt_0 mj7a_0 mh36_0 meqh_en msa3_z4 _1vx3o"><dt class="mpof_uk mgmw_ag mp4t_0 m3h2_0 mryx_0 munh_0 mg9e_0 mvrt_0 mj7a_0 mh36_0 _9c44d_3hPFO">Stan</dt><dd class="mpof_uk mp4t_0 m3h2_0 mryx_0 munh_0 mgmw_ia mg9e_0 mj7a_0 mh36_0 _9c44d_3n9Wf">Nowy</dd></dl></div></div></div><div class="_9c44d_3AMmE"><div class="mpof_92 myre_zn"><div class="msa3_z4 _9c44d_2K6FN"><span class="_1svub _lf05o">30,<span class="_qnmdr">50 zł</span></span></div></div></div><div class="_9c44d_1xKGX"><div class="mqu1_g3">43,91 zł z dostawą</div></div><div class="_9c44d_3K52C"><div class="mp0t_ji mpof_vs _9c44d_1VS-Y _9c44d_3px8G"><span class="mpof_uk mqu1_ae _9c44d_18kEF _9c44d_3gH36 m9qz_yq">dostawa w&nbsp;poniedziałek</span></div><div class="mpof_ki m389_6m munh_56_l"><span class="msa3_z4">11 osób kupiło</span></div></div><div class="m7er_k4 _9c44d_w7AeH"><button class="_13q9y _8hkto mh36_0 mpof_5r_x _9c44d_IH7T_"><span class="mpof_z0 _9c44d_38gyz">do koszyka</span><span class="mpof_5r _9c44d_1CbiU">dodaj do koszyka</span></button></div></div></div></article>

A tak wygląda kod który przejdzie przez BeautyfulSoup:

<article data-analytics-enabled="true" data-analytics-view-custom-deliverylabel="dostawa w&nbsp;poniedziałek" data-analytics-view-custom-index0="11" data-analytics-view-custom-page="1" data-analytics-view-value="7433658865" data-item="true" data-role="offer"><div class="mpof_ki mqen_m6 mp7g_oh mh36_0 mvrt_0 mg9e_8 mj7a_8 m7er_k4 _1y62o _9c44d_1I1gg"><div><div class="mpof_ki myre_zn m389_6m m09p_k4 mse2_56 _9c44d_2Tos9"><a class="msts_9u mg9e_0 mvrt_0 mj7a_0 mh36_0 mpof_ki m389_6m mx4z_6m m7f5_6m mse2_k4 m7er_k4 _9c44d_1ILhl" href="https://allegro.pl/oferta/wykladzina-gumowa-ryfel-blacha-szer120cm-autoguma-7433658865" rel="nofollow"><img alt="" src="https://assets.allegrostatic.com/metrum/placeholder/placeholder-20d85ed501.svg"></a></div></div><div class="mpof_ki myre_zn _9c44d_1Hxbq"><div class="m7er_k4 _9c44d_3TzmE"><h2 class="mgn2_14 m9qz_yp mqu1_16 mp4t_0 m3h2_0 mryx_0 munh_0"><a class="_w7z6o _uj8z7 meqh_en mpof_z0 mqu1_16 _9c44d_2vTdY" href="https://allegro.pl/oferta/wykladzina-gumowa-ryfel-blacha-szer120cm-autoguma-7433658865" title="">WYKŁADZINA GUMOWA RYFEL BLACHA SZER120CM AUTOGUMA</a></h2><div class="mpof_z0 m7er_k4"><div class="mgn2_13 mpof_5r mpof_z0_s "><dl class="mp4t_0 m3h2_0 mryx_0 munh_0 mg9e_0 mvrt_0 mj7a_0 mh36_0 meqh_en msa3_z4 _1vx3o"><dt class="mpof_uk mgmw_ag mp4t_0 m3h2_0 mryx_0 munh_0 mg9e_0 mvrt_0 mj7a_0 mh36_0 _9c44d_3hPFO">Stan</dt><dd class="mpof_uk mp4t_0 m3h2_0 mryx_0 munh_0 mgmw_ia mg9e_0 mj7a_0 mh36_0 _9c44d_3n9Wf">Nowy</dd></dl></div></div></div><div class="_9c44d_3AMmE"><div class="mpof_92 myre_zn"><div class="msa3_z4 _9c44d_2K6FN"><span class="_1svub _lf05o">6<!-- -->,<span class="_qnmdr">30<!-- --> <!-- -->zł</span></span></div></div></div><div class="_9c44d_1xKGX"><div class="mqu1_g3">11,30 zł z dostawą</div></div><div class="_9c44d_3K52C"><div class="mp0t_ji mpof_vs _9c44d_1VS-Y _9c44d_3px8G"><span class="mpof_uk mqu1_ae _9c44d_18kEF _9c44d_3gH36 m9qz_yq">dostawa w&nbsp;poniedziałek</span></div><div class="mpof_ki m389_6m munh_56_l"><span class="msa3_z4">3 osoby kupiły</span></div></div><div class="m7er_k4 _9c44d_w7AeH"><button class="_13q9y _8hkto mh36_0 mpof_5r_x _9c44d_IH7T_"><span class="mpof_z0 _9c44d_38gyz">do koszyka</span><span class="mpof_5r _9c44d_1CbiU">dodaj do koszyka</span></button></div></div></div></article>

Na oko widać różnicę :(

Nie jest to dokładnie ta sama aukcja, ale kodowanie jest to samo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1