需要帮助,使用bs4和python从幻灯片中抓取图像

时间:2019-02-06 12:49:46

标签: python html css web-scraping beautifulsoup

我正在尝试从Craigslist的剪贴簿列表中获取信息,不幸的是,由于它们在幻灯片中,因此我似乎无法获取这些图像。

import requests
from bs4 import BeautifulSoup as soup

url = "https://newyork.craigslist.org/search/sss"
r = requests.get(url)
souped = soup(r.content, 'lxml')

由于图像甚至不在请求的html文件中,我是否需要以某种方式动态加载页面或其他内容。如果可以的话,我只能将其保留在python中,而不想要任何其他依赖项。在此先感谢您,这是非常新颖的,所以任何帮助都将有所帮助。

1 个答案:

答案 0 :(得分:2)

使用类result-image gallery查找A标签。每个标签都有一个data-ids属性,该属性会使图像文件名称的一部分变旧。

<a href="https://newyork.craigslist.org/mnh/fuo/d/new-york-city-3-piece-shaped-ikea-couch/6812749499.html" class="result-image gallery" data-ids="1:00707_iRUU5VKwkWi,1:00H0H_6AIBqK2iQDU">
           ....
</a>

现在,如果要获取url,请首先获取该属性并解析部分图像的名称(在该示例中为00707_iRUU5VKwkWi00H0H_6AIBqK2iQDU)。

现在您可以使用主机以及sufix(_300x300)和扩展名来构建URL:

https://images.craigslist.org/00707_iRUU5VKwkWi_300x300.jpg
https://images.craigslist.org/00H0H_6AIBqK2iQDU_300x300.jpg