저는 파이썬을 처음 사용하며이 웹 사이트에서 일부 정보를 웹 스크랩하고 싶습니다.
import requests
from bs4 import BeautifulSoup
URL = 'https://www.leroymerlin.com.br/piso-ceramico-interno-madeira-esmaltado-borda-arredondada-reale-noce-61x61cm-rosagres_89371261'
page = requests.get(URL)
soup = BeautifulSoup(page.content)
mydivs = soup.findAll("div", {"class": "carousel"})
그러나 mydivs는 비어 있지만 view-source에는이 줄이 있습니다. 마찬가지로:
for link in soup.find_all('a'):
print(link.get('href'))
보기 소스에서 볼 수없는 링크를 제공하고보기 소스에서 보는 링크를 제공하지 마십시오. iframe 문제라고 생각했지만 시도했지만 해결할 수 없었습니다.
누구든지 나를 도울 수 있습니까?
여기서 문제는 파이썬이 https://www.leroymerlin.com.br/localizacao 로 리디렉션되기 때문에 다른 웹 페이지를 수신하고 있다는 것 입니다.
스크래핑중인 웹 페이지에 도착하려면 리디렉션되지 않도록 지역 쿠키를 설정해야합니다.
page = requests.get(URL, cookies={'region': 'eyJpdiI6IlN1SUhieDhmUGtxbDVzcHIyZVgrSUE9PSIsInZhbHVlIjoiZHhycHE0MGRlVWNkNHk0U2NDSCtCZz09IiwibWFjIjoiMmFiMjVhZTFjMjFhNWU4NzkyZmFiNTUxOGM5MWYzMmIzYmJiYzNkMDk4NDJjYWFiYTdkNDVjNjMzYzVjNWNhMCJ9'})
저는 eyJpdiI6IlN1SUhieDhmUGtxbDVzcHIyZVgrSUE9PSIsInZhbHVlIjoiZHhycHE0MGRlVWNkNHk0U2NDSCtCZz09IiwibWFjIjoiMmFiMjVhZTFjMjFhNWU4NzkyZmFiNTUxOGM5MWYzMmIzYmJiYzNkMDk4NDJjYWFiYTdkNDVjNjMzYzVjNWNhMCJ9
지역 쿠키로 사용 하고 있습니다. 웹 브라우저 개발 콘솔에서 패킷을보고 사용중인 쿠키를 확인할 수 있습니다.
그리고 이것은 응답입니다.
>>> mydivs = soup.findAll("div", {"class": "carousel"})
>>> mydivs
[<div class="carousel" data-carousel-tracking-value="89371261" data-items='[{"alt":"Piso Cer\u00e2mico Interno Madeira Esmaltado Borda Arredondada Reale Noce 61x61cm Rosagr\u00eas","url":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_c1d5_600x600.jpeg","zoomDimensions":"1800","zoomUrl":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_c1d5_1800x1800.jpeg","shouldLoadImageZoom":true,"thumb":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_c1d5_52x52.jpeg","youtubeId":""},{"alt":"Piso Cer\u00e2mico Esmaltado Borda Arredondada 61x61cm modelo Reale Noce Rosagr\u00eas","url":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_esmaltado_brilhante_61x61cm_modelo_reale_noce_rosagres_89371261_ed4d_600x600.jpg","zoomDimensions":"600","zoomUrl":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_esmaltado_brilhante_61x61cm_modelo_reale_noce_rosagres_89371261_ed4d_600x600.jpg","shouldLoadImageZoom":true,"thumb":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_esmaltado_brilhante_61x61cm_modelo_reale_noce_rosagres_89371261_ed4d_52x52.jpg","youtubeId":""},{"alt":"Piso Cer\u00e2mico Interno Madeira Esmaltado Borda Arredondada Reale Noce 61x61cm Rosagr\u00eas","url":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_4550_600x600.jpeg","zoomDimensions":"1800","zoomUrl":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_4550_1800x1800.jpeg","shouldLoadImageZoom":true,"thumb":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_4550_52x52.jpeg","youtubeId":null},{"alt":"Piso Cer\u00e2mico Interno Madeira Esmaltado Borda Arredondada Reale Noce 61x61cm Rosagr\u00eas","url":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_586b_600x600.jpeg","zoomDimensions":"1800","zoomUrl":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_586b_1800x1800.jpeg","shouldLoadImageZoom":true,"thumb":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_586b_52x52.jpeg","youtubeId":null},{"alt":"Piso Cer\u00e2mico Interno Madeira Esmaltado Borda Arredondada Reale Noce 61x61cm Rosagr\u00eas","url":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_51ba_600x600.jpeg","zoomDimensions":"1800","zoomUrl":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_51ba_1800x1800.jpeg","shouldLoadImageZoom":true,"thumb":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_51ba_52x52.jpeg","youtubeId":null},{"alt":"Piso Cer\u00e2mico Interno Madeira Esmaltado Borda Arredondada Reale Noce 61x61cm Rosagr\u00eas","url":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_a684_600x600.jpeg","zoomDimensions":"1800","zoomUrl":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_a684_1800x1800.jpeg","shouldLoadImageZoom":true,"thumb":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_a684_52x52.jpeg","youtubeId":null},{"alt":"Piso Cer\u00e2mico Interno Madeira Esmaltado Borda Arredondada Reale Noce 61x61cm Rosagr\u00eas","url":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_09b7_600x600.jpeg","zoomDimensions":"1800","zoomUrl":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_09b7_1800x1800.jpeg","shouldLoadImageZoom":true,"thumb":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_09b7_52x52.jpeg","youtubeId":null},{"alt":"Piso Cer\u00e2mico Interno Madeira Esmaltado Borda Arredondada Reale Noce 61x61cm Rosagr\u00eas","url":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_8e45_600x600.jpeg","zoomDimensions":"1800","zoomUrl":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_8e45_1800x1800.jpeg","shouldLoadImageZoom":true,"thumb":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_8e45_52x52.jpeg","youtubeId":null},{"alt":"Piso Cer\u00e2mico Brilhante Borda Arredondado Reale Noce 61x61cm Rosagr\u00eas","url":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_borda_arredondado_reale_noce_61x61cm_rosagres_89371261_0001_600x600.jpg","zoomDimensions":"600","zoomUrl":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_borda_arredondado_reale_noce_61x61cm_rosagres_89371261_0001_600x600.jpg","shouldLoadImageZoom":true,"thumb":"https:\/\/cdn.leroymerlin.com.br\/products\/piso_ceramico_borda_arredondado_reale_noce_61x61cm_rosagres_89371261_0001_52x52.jpg","youtubeId":null}]' data-product-images-carousel="" data-sketchfab-id="7a24a14dabc44227b465d49673d144e4" data-sketchfab-placeholder="https://cdn.leroymerlin.com.br/assets/images/sketchfab-placeholder.svg" data-sketchfab-thumb="https://cdn.leroymerlin.com.br/assets/images/sketchfab-3d-model.svg">
<div>
<picture>
<source media="(max-width: 768px)" srcset="https://cdn.leroymerlin.com.br/products/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_c1d5_220x220.jpeg"/>
<source media="(min-width: 769px)" srcset="https://cdn.leroymerlin.com.br/products/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_c1d5_300x300.jpeg"/>
<img alt="Piso Cerâmico Interno Madeira Esmaltado Borda Arredondada Reale Noce 61x61cm Rosagrês" class="image" src="https://cdn.leroymerlin.com.br/products/piso_ceramico_esmaltado_reale_noce_61x61cm_rosagres_89371261_c1d5_300x300.jpeg"/>
</picture>
</div>
</div>]
>>>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다