Python爬虫---使用BeautifulSoup下载麦当劳点餐图片

步骤:

  1. 导入需要使用的包

  2. 定位正确的url地址

  3. 发请求

  4. 获取响应

  5. 解析响应的内容

  6. 将获取的xpath语法转换成bs4语法

7.下载图片

python 复制代码
import urllib.request
from bs4 import BeautifulSoup

# url
url = "https://www.mcdonalds.com.cn/index/Food/menu/burger"

# 请求
response = urllib.request.urlopen(url=url)

# 响应
content = response.read().decode("utf-8")
# print(content)

# 解析
soup = BeautifulSoup(content, "lxml")

# img_list = "//div[@class="pic"]/img/@src"    # xpath语法
# name_list = "//div[@class="col-md-3 col-sm-4 col-xs-6"]//span/text()"   # xpath语法

name_list = soup.select("div[class='col-md-3 col-sm-4 col-xs-6'] span")  # BeautifulSoup语法
img_list = soup.select(".pic>img")
# print(type(name_list))
# print(name_list, len(name_list))
# print(img_list)

# for name in name_list:
#     print(name.get_text())  # 每个名字
#     print(name.string)  # 每个名字
#     print(name_list.index(name))  # 每个名字的索引

for img in img_list:
    # print(img["src"])  # 每张图片的地址
    img_src = img["src"]
    # print(img_list.index(img))   # 每个图片的索引
    # name = img_src.split("/")[-1]  # 图片命名
    name = name_list[img_list.index(img)].get_text()  # 图片命名
    urllib.request.urlretrieve(url=img_src, filename="./image/1/" + name + ".jpg")  # 下载图片
    print(f"图片{name}下载了")
相关推荐
Salt_07281 小时前
DAY 19 数组的常见操作和形状
人工智能·python·机器学习
无心水2 小时前
【Python实战进阶】2、Jupyter Notebook终极指南:为什么说不会Jupyter就等于不会Python?
python·jupyter·信息可视化·binder·google colab·python实战进阶·python工程化实战进阶
上班日常摸鱼3 小时前
Shell脚本基础教程:变量、条件判断、循环、函数实战(附案例)
python
无心水3 小时前
【Python实战进阶】5、Python字符串终极指南:从基础到高性能处理的完整秘籍
开发语言·网络·python·字符串·unicode·python实战进阶·python工业化实战进阶
2301_807583233 小时前
了解python,并编写第一个程序,常见的bug
linux·python
小白学大数据3 小时前
构建混合爬虫:何时使用Requests,何时切换至Selenium处理请求头?
爬虫·python·selenium·测试工具
2401_827560203 小时前
【Python脚本系列】PyAudio+librosa+dtw库录制、识别音频并实现点击(四)
python·语音识别
BBB努力学习程序设计3 小时前
Python自动化脚本:告别重复劳动
python·pycharm
BBB努力学习程序设计4 小时前
Python函数式编程:优雅的代码艺术
python·pycharm
2501_940943914 小时前
体系课\ Python Web全栈工程师
开发语言·前端·python