python - 需要帮助使用 bs4 和 python 从幻灯片中抓取图像
问题描述
我正在尝试从 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 中,我不想要任何其他依赖项。在此先感谢,对此非常陌生,因此任何帮助都会有所帮助。
解决方案
查找带有 classes 的 A 标记result-image gallery
。这些标签中的每一个都有一个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
) 和扩展名构建 url:
https://images.craigslist.org/00707_iRUU5VKwkWi_300x300.jpg
https://images.craigslist.org/00H0H_6AIBqK2iQDU_300x300.jpg
推荐阅读
- python - Python django,检查sql列是否包含值
- python - 如何解开 nlp 模型
- python - 静态类型化枚举的抽象方法
- visual-studio - 如何在 Visual Studio 2019 (Windows) 中更改块注释快捷方式
- flutter - Flutter initState 文本字段
- url - 深层链接和公共语法 URI/URL
- python - 我需要将密码存储在加密为密码的配置中
- maven - 在 Rapidclipse X 上将战争文件部署到 tomcat 9 时出错
- f# - 如何在 F# 中使用 Playwright Sharp 进行浏览器自动化
- google-kubernetes-engine - 将后端服务协议从 http 更改为 https 时,运行状况显示不健康,不知道为什么?