【python爬虫】—星巴克产品

这篇具有很好参考价值的文章主要介绍了【python爬虫】—星巴克产品。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求

爬取星巴克产品以及图片,星巴克菜单

  • 网页分析: 首先,需要分析星巴克官方网站的结构,了解菜单栏的位置、布局以及菜单项的标签或类名等信息。
  • 发送 HTTP 请求: 使用 Python 的 requests 模块发送 HTTP GET 请求,获取星巴克网页的 HTML 内容。
  • 解析 HTML: 使用一个 HTML 解析库(如 BeautifulSoup)解析网页的 HTML 内容,以便从中提取出菜单栏的数据。
  • 定位菜单栏元素: 使用解析库的选择器功能(如 CSS 选择器或 XPath)定位菜单栏所在的 HTML 元素。
  • 提取菜单数据: 从菜单栏元素中提取菜单项的信息,可能包括菜单项名称、图片等。
  • 数据存储: 将提取的菜单数据存储到适合的数据结构中。

python爬虫

  • 获取网页源码,这里没有反爬手段,不需要添加其他参数
import urllib
from bs4 import BeautifulSoup
import requests

base_url = "https://www.starbucks.com.cn/menu/"
response = urllib.request.urlopen(base_url)
content = response.read().decode('utf-8')

soup = BeautifulSoup(content, 'lxml')
  • 方法一:soup的select方法
# 方法一:select方法
import os

# 文件保存路径
save_path = "./practice_071_星巴克/"
if not os.path.exists(save_path): os.makedirs(save_path)

name_list = soup.select('ul[class="grid padded-3 product"]')
# name_list[0].select('li div')[0]["style"]
for name in name_list:
    submenu_pic  = name.select('li div')
    submenu_name = name.select('li strong')
    for pic_url,name in zip(submenu_pic, submenu_name):
        suffix = pic_url["style"].split('("')[-1].split('")')[0]
        # 文件地址 和 名称
        picture_url = 'https://www.starbucks.com.cn' + suffix
        picture_name = name.get_text() + ".jpg"
        
        # 文件不支持名称中含有字符 '/',' '
        picture_name = picture_name.strip().replace("/", 'or')

        # 方法1:urlretrieve
        # urllib.request.urlretrieve(url=picture_url, filename=os.path.join(save_path,picture_name))

        # 方法2:写入文件形式
        src_response = urllib.request.urlopen(picture_url)
        pic_content = src_response.read()

        with open(os.path.join(save_path,picture_name), 'wb') as fp:
            fp.write(pic_content)

        print("{}  完成,地址为  {}".format(picture_name, picture_url))

  • 方法二:soup的find\find_all方法
# 方法二:find/find_all方法
menu_list = soup.find('div', class_="wrapper fluid margin page-menu-list").find_all('li')

for name in menu_list:
    suffix = name.find('div')["style"].split('("')[-1].split('")')[0]
    # 文件地址 和 名称
    picture_url = 'https://www.starbucks.com.cn' + suffix
    picture_name = name.find("strong").get_text() + ".jpg"

    # 文件不支持名称中含有字符 '/',' '
    picture_name = picture_name.strip().replace("/", 'or')

    urllib.request.urlretrieve(url=picture_url, filename=os.path.join(save_path,picture_name))

    print("{}  完成,地址为  {}".format(picture_name, picture_url))

爬取结果

【python爬虫】—星巴克产品,python爬虫,python,爬虫,开发语言文章来源地址https://www.toymoban.com/news/detail-732133.html

到了这里,关于【python爬虫】—星巴克产品的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python爬虫开发入门及开发技巧大全

    get方法 post方法 这在某些情况下比较有用, 比如IP被封了,或者比如IP访问的次数受到限制等等。 是的没错,如果想同时用代理和cookie, 那就加入proxy_support然后operner改为 ,如下: 某些网站反感爬虫的到访,于是对爬虫一律拒绝请求。 这时候我们需要伪装成浏览器, 这可以

    2023年04月15日
    浏览(40)
  • 【100天精通python】Day41:python网络爬虫开发_爬虫基础入门

    目录  专栏导读  1网络爬虫概述 1.1 工作原理 1.2 应用场景 1.3 爬虫策略

    2024年02月12日
    浏览(49)
  • 【100天精通python】Day45:python网络爬虫开发_ Scrapy 爬虫框架

    目录 1 Scrapy 的简介 2 Scrapy选择器 3 快速创建Scrapy 爬虫 4 下载器与爬虫中间件

    2024年02月11日
    浏览(57)
  • Python3网络爬虫开发实战

    1.1 URI和URL URI:统一资源标识符(Uniform Resource Identifier) URL:统一资源定位符(Uniform Resource Locator) URN:统一资源名称(Uniform Resource Name) 1.2 HTTP和HTTPS HTTP:超文本传输协议(Hypertext Transfer Protocol) HTTPS:以安全为目标的HTTP通道(Hypertext Transfer Protocol) 1.3 请求(Requset) 1.3.1 请求方式 函数

    2024年02月04日
    浏览(47)
  • python爬虫入门(1)-开发环境配置

          所谓的爬虫,就是通过模拟点击浏览器发送网络请求,接收站点请求响应,获取互联网信息的一组自动化程序。 也就是,只要浏览器(客户端)能做的事情,爬虫都能够做。       现在的互联网大数据时代,给予我们的是生活的便利以及海量数据爆炸式的出现在网络中。

    2024年02月08日
    浏览(44)
  • 【Python爬虫开发基础⑩】selenium概述

    🚀 个人主页 :为梦而生~ 关注我一起学习吧! 💡 专栏 :python网络爬虫从基础到实战 欢迎订阅!后面的内容会越来越有意思~ 💡 往期推荐 : ⭐️前面比较重要的 基础内容 : 【Python爬虫开发基础⑥】计算机网络基础(Web和HTTP) 【Python爬虫开发基础⑦】urllib库的基本使用

    2024年02月12日
    浏览(44)
  • 【Python爬虫开发】selenium从入门到精通

    1、概述 selenium本身是一个自动化测试工具。它可以让python代码调用浏览器。并获取到浏览器中加载的各种资源。 我们可以利用selenium提供的各项功能。 帮助我们完成数据的抓取。 2、学习目标 掌握 selenium发送请求,加载网页的方法 掌握 selenium简单的元素定位的方法 掌握 s

    2024年02月03日
    浏览(43)
  • 基于Python的HTTP代理爬虫开发初探

    前言 随着互联网的发展,爬虫技术已经成为了信息采集、数据分析的重要手段。然而在进行爬虫开发的过程中,由于个人或机构的目的不同,也会面临一些访问限制或者防护措施。这时候,使用HTTP代理爬虫可以有效地解决这些问题,避免被目标网站封禁或者限制访问。   一

    2024年02月12日
    浏览(34)
  • Python爬虫开发:Scrapy框架与Requests库

    Python爬虫开发中有两个非常流行的工具:Scrapy框架和Requests库。它们各自有自己的优点和适用场景。 Scrapy Scrapy是一个为了爬取网站并提取结构化数据而编写的应用框架,可以非常方便地实现网页信息的抓取。Scrapy提供了多种可配置、可重用的组件,如调度器、下载器、爬虫和

    2024年02月19日
    浏览(56)
  • macos 使用vscode 开发python 爬虫(安装一)

    使用VS Code进行Python爬虫开发是一种常见的选择,下面是一些步骤和建议: 安装VS Code:首先,确保你已经在你的macOS上安装了VS Code。你可以从官方网站(https://code.visualstudio.com/)下载并安装最新版本。 安装Python扩展:打开VS Code,点击左侧的扩展图标(或使用快捷键Ctrl+Shift

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包