首页 > 其他分享 >大数据分析与可视化 之 百度图片爬虫

大数据分析与可视化 之 百度图片爬虫

时间:2023-12-30 20:47:28浏览次数:36  
标签:数据分析 word img url self 爬虫 可视化 link image

大数据分析与可视化 之 百度图片爬虫

import requests
import re
from urllib import parse
import os
import time  # Import the time module

class BaiduImageSpider(object):
    def __init__(self):
        self.url = 'https://image.baidu.com/search/flip?tn=baiduimage&word={}'
        self.headers = {'User-Agent': 'Mozilla/4.0'}

    # 获取图片
    def get_image(self, url, word):
        # 使用 requests模块得到响应对象
        res = requests.get(url, headers=self.headers)
        # 更改编码格式
        res.encoding = "utf-8"
        # 得到html网页
        html = res.text
        print(html)
        # 正则解析
        pattern = re.compile('"hoverURL":"(.*?)"', re.S)
        img_link_list = pattern.findall(html)
        # 存储图片的url链接
        print(img_link_list)

        # 创建目录,用于保存图片
        directory = 'e:/a/image/{}/'.format(word)
        # 如果目录不存在则创建,此方法常用
        if not os.path.exists(directory):
            os.makedirs(directory)

        # 添加计数
        i = 1
        for img_link in img_link_list:
            filename = '{}{}_{}.jpg'.format(directory, word, i)
            self.save_image(img_link, filename)
            i += 1

            # Add a sleep time (e.g., 1 second) between each image download request
            time.sleep(1)

    # 下载图片
    def save_image(self, img_link, filename):
        html = requests.get(url=img_link, headers=self.headers).content
        with open(filename, 'wb') as f:
            f.write(html)
        print(filename, '下载成功')

    # 入口函数
    def run(self):
        word = input("您想要谁的照片?")
        word_parse = parse.quote(word)
        url = self.url.format(word_parse)
        self.get_image(url, word)

if __name__ == '__main__':
    spider = BaiduImageSpider()
    spider.run()

标签:数据分析,word,img,url,self,爬虫,可视化,link,image
From: https://www.cnblogs.com/IvanKK/p/17936784

相关文章

  • 大数据分析与可视化 之 猫眼电影爬虫
    大数据分析与可视化之猫眼电影爬虫importrandomimporttimeimportreimportrequestsimportcsvclassMaoyanSpider(object):#初始化#定义初始页面urldef__init__(self):self.url='https://www.maoyan.com/board/4?offset={}'defg......
  • 大数据分析与可视化 之 百度贴吧爬虫
    大数据分析与可视化之百度贴吧爬虫importcsvimportdatetimeimportjsonfromurllibimportrequest,parseimporttimeimportrandomfromfake_useragentimportUserAgentfromlxmlimportetreeimportrequests#定义一个爬虫类classTiebaSpider(object):......
  • 大数据分析与可视化 之 百度贴吧(标题和链接)
    大数据分析与可视化之百度贴吧(标题和链接)importcsvfromurllibimportrequest,parseimporttimeimportrandomimportrequestsfromlxmlimportetreefromurllibimportrequest,parse#定义一个爬虫类classTiebaSpider(object):#初始化url属性def......
  • 大数据分析与可视化 之 实验13 大数据分析与挖掘建模
    实验13大数据分析与挖掘建模实验学时:2学时实验类型:验证实验要求:必修一、实验目的掌握使用Numpy、Pandas进行数据建模。能够利用模型数据进行相关预测分析。理解数据建模的编程过程。二、实验要求通过编程实现使用电信用户数据画像——建立RFM模型对电信电话数据集、......
  • 大数据分析与可视化 之 随堂练习
    随堂练习,随手记录2.ipynb#%%importnumpyasnpimportcsv#%%iris_data=[]withopen(r'文件地址')ascsvfile:csv_reader=csv.reader(csvfile)birth_header=next(csv_reader)forrowincsv_reader:iris_data.append(row)print(iris_......
  • 大数据分析与可视化 之 小说爬虫类
    大数据分析与可视化之小说爬虫类importrandomimportrequestsfromlxmlimportetreeimporttimeclassWebScraper:def__init__(self,url,output_file):self.url=urlself.output_file=output_fileself.headers={......
  • 大数据分析与可视化 之 实验10 Pandas实现数据分析
    实验10Pandas实现数据分析实验学时:2学时实验类型:验证实验要求:必修一、实验目的掌握Pandas的字符串函数。掌握Pandas统计汇总函数。掌握Pandas排序、分组、合并与级联函数。能利用上述函数进行综合数据分析。二、实验要求通过编程实现使用Pandas字符串函数进行文本......
  • 大数据分析与可视化 之 实验11 Matplotlib绘制图表(一)
    实验11Matplotlib绘制图表(一)实验学时:2学时实验类型:验证实验要求:必修一、实验目的掌握Matplotlib的框架及图形属性。掌握Matplotlib绘制图形的步骤。掌握Matplotlib绘制直线、曲线图、折线图。掌握Matplotlib绘制柱形图、条形图、饼图。二、实验要求通过编程实现使用......
  • 大数据分析与可视化 之 实验12 Matplotlib绘制图表(二)
    实验12Matplotlib绘制图表(二)实验学时:2学时实验类型:验证实验要求:必修一、实验目的掌握Matplotlib的框架及图形属性。掌握Matplotlib绘制图形的步骤。掌握Matplotlib绘制柱形图、条形图、饼图、折线图。掌握Matplotlib绘制散点图、等高线图、极坐标图、3D图。二、实验......
  • 大数据分析与可视化 之 实验06 Pandas缺失值处理
    实验06Pandas缺失值处理实验学时:2学时实验类型:验证实验要求:必修一、实验目的掌握判断缺失值、过滤缺失值、填充缺失缺失值等缺失值处理解决实际数据中的缺失值问题二、实验要求使用常见的缺失值处理函数(如:isnull()、notnull()、fillna()、dropna()函数)等知识在PyCharm......