苹果表主题图片爬取!

一个设计佬要的,外网苹果表主题图片,说是要参(抄)考(袭)用,搜集作为灵感图库而使用的素材,如果一张张点保存得什么时候,直接Python大法好,Python苹果表主题图片爬取过程。

c9d6d65aa0b0cffcab774d13d881d35b.png

目标网址:https://buddywatch.app/page/2/

983e80bc7affed62cf1f0c3c66f23f9b.png

经过测试观察,总页码数为57!

几个关键点:

  1. 图片 xpath 获取

由于访问速度受限,存在两种图片xpath获取!

第一种:

imgurls = tree.xpath('//a[@class="thumb epcl-loader"]/span/@data-src')

7b12f26678e559e129a0534b13a098dd.png

第二种:

spans = tree.xpath('//a[@class="thumb epcl-loader"]/span/@style')

3bdf7b9eac26b639bdfcfabaaf5a0010.png

  1. 四次重试请求

def get_response(self, url):
        i = 0
        while i < 4:
            try:
                response = requests.get(url, headers=self.headers, timeout=8)
                return response
            except requests.exceptions.RequestException:
                i += 1
                print(f">> 获取网页出错,8S后将重试获取第:{i} 次")
                time.sleep(6)

附上完整源码参考:

#buddywatch 表盘
#微信:huguo00289
# -*- coding: utf-8 -*-

from fake_useragent import UserAgent
from lxml import etree
import requests,time,re


class Bu(object):
    def __init__(self):
        self.url = "https://buddywatch.app/page/"
        self.ua = UserAgent()
        self.headers = {"User-Agent": self.ua.random}



    def get_list(self,page):
        url = f'{self.url}{page}/'
        response=self.get_response(url)
        html=response.content.decode('utf-8')
        tree=etree.HTML(html)
        imgurls = tree.xpath('//a[@class="thumb epcl-loader"]/span/@data-src')
        spans = tree.xpath('//a[@class="thumb epcl-loader"]/span/@style')
        print(spans)
        for span in spans:
            imgurl=self.get_imgurl(span)
            #imgurls.append(imgurl)
            imgurls.insert(0,imgurl)

        print(len(imgurls))
        print(imgurls)

        for imgurl in imgurls:
            self.down(imgurl)


    def get_imgurl(self,span):
        imgurl = re.findall(r'background-image: url(.+?);', span, re.S)[0]
        imgurl=imgurl[1:-1]
        print(imgurl)
        return imgurl



    def down(self,imgurl):
        imgname=imgurl.split('/')[-1]
        r=self.get_response(imgurl)
        with open(f'buddywatch/{imgname}', 'wb') as f:
            f.write(r.content)
        print(f'{imgname} 图片下载成功了!')


    # 4次重试
    def get_response(self, url):
        i = 0
        while i < 4:
            try:
                response = requests.get(url, headers=self.headers, timeout=8)
                return response
            except requests.exceptions.RequestException:
                i += 1
                print(f">> 获取网页出错,8S后将重试获取第:{i} 次")
                time.sleep(6)



def main(pagenum):
    spider = Bu()
    for page in range(pagenum+1):
        spider.get_list(page)


if __name__=='__main__':
    pagenum = 57
    main(pagenum)

·················END·················

你好,我是二大爷,

革命老区外出进城务工人员,

互联网非早期非专业站长,

喜好python,写作,阅读,英语

不入流程序,自媒体,seo . . .

公众号不挣钱,交个网友。

读者交流群已建立,找到我备注 “交流”,即可获得加入我们~

听说点 “在看” 的都变得更好看呐~

关注关注二大爷呗~给你分享python,写作,阅读的内容噢~

扫一扫下方二维码即可关注我噢~

e73282b0249d66a4aeadddd81e286262.png

adc66d3088337a7c0549ed1047baaf25.png

关注我的都变秃了

说错了,都变强了!

不信你试试

2a221e5766cba474f364f85b770d4f63.png

扫码关注最新动态

公众号ID:eryeji

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用Python中的第三方库来爬取百度上的苹果图片数据。以下是一种可能的实现方式: 1. 首先,您需要安装`requests`库和`beautifulsoup4`库。您可以使用以下命令来安装它们: ``` pip install requests pip install beautifulsoup4 ``` 2. 导入所需的库: ```python import requests from bs4 import BeautifulSoup import os ``` 3. 定义一个函数来爬取图片: ```python def download_images(keyword, num_images): url = f"https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word={keyword}&ct=201326592&v=flip" response = requests.get(url) soup = BeautifulSoup(response.content, "html.parser") img_tags = soup.find_all("img", class_="main_img img-hover") # 创建一个目录来保存图片 os.makedirs(keyword, exist_ok=True) count = 0 for img_tag in img_tags: if count == num_images: break img_url = img_tag["src"] try: # 下载图片 response = requests.get(img_url) with open(f"{keyword}/{count+1}.jpg", "wb") as f: f.write(response.content) count += 1 print(f"Downloaded image {count}/{num_images}") except: print(f"Failed to download image {count+1}") ``` 4. 调用函数并指定关键词和要下载的图片数量: ```python keyword = "苹果" # 搜索的关键词 num_images = 10 # 要下载的图片数量 download_images(keyword, num_images) ``` 这样,您就可以使用Python爬取百度上的苹果图片数据并保存在指定目录中。请注意,爬取网站数据时要遵守相关网站的使用政策和法律法规。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值