需要帮助使用 bs4 和 python 从幻灯片中抓取图像
Posted
技术标签:
【中文标题】需要帮助使用 bs4 和 python 从幻灯片中抓取图像【英文标题】:Need help scraping images from a slideshow with bs4 & python 【发布时间】:2019-06-30 10:21:33 【问题描述】:我正在尝试从 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 中,我不想要任何其他依赖项。在此先感谢,对此非常陌生,因此任何帮助都会有所帮助。
【问题讨论】:
如您所见,您有图像的链接,我建议您提取 URL,然后使用requests
使用这些 URL 下载图像。请参阅this post 以使用该模块下载图像
谢谢,但我不想下载图片,只是想要链接。我有一个循环,可以将列表的标题、位置、价格等添加到 CSV 文件中,我只是希望它也将图像的链接添加到其中。对不起,我是 python 的菜鸟,所以一个简单的解决方案会很有帮助。
【参考方案1】:
查找类为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_iRUU5VKwkWi
和 00H0H_6AIBqK2iQDU
)。
现在您可以使用主机、后缀 (_300x300
) 和扩展名构建网址:
https://images.craigslist.org/00707_iRUU5VKwkWi_300x300.jpg
https://images.craigslist.org/00H0H_6AIBqK2iQDU_300x300.jpg
【讨论】:
谢谢! ? 正是我想要的。以上是关于需要帮助使用 bs4 和 python 从幻灯片中抓取图像的主要内容,如果未能解决你的问题,请参考以下文章
Python - BS4 - 仅使用表头+保存为字典从维基百科表中提取子表