千家信息网

python如何爬取漂亮的图片作为壁纸

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本篇内容介绍了"python如何爬取漂亮的图片作为壁纸"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2025年02月02日python如何爬取漂亮的图片作为壁纸

本篇内容介绍了"python如何爬取漂亮的图片作为壁纸"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

首先,可以查看上浏览器上的地址栏,可以看出这个搜索结果的网址构成还是挺有规律的,前面是堆糖的首页网址,?后面是咱们的请求数据,请求数据里面最关键的就是(kw="搜索关键词"),这是会根据咱们搜索内容不同而改变的。

接着按键盘上的f12调出开发者工具,点击Network,再按f5刷新下网页进行数据重新请求,可以看到在Name的下拉框下有许多的请求文件,咱们可以点击一个文件进行查看下里面请求头数据,这是待会写爬虫非常重要的请求头构造数据来源。

看不出规律可以单击下资源文件,右边窗口的Request URL行也有这个url,咱们多点击几个文件进行查看,并将里面url地址复制到文本上查看。

单击一个资源文件,再点击右边Preview,可以看到这里面有许多数据,而咱们要的数据就是前面的json数据,黑色三角形是可以点击的,点击后会展开详细的数据信息。

分析到这里,就可以来写咱们的代码,打开pycharm,先导入必要的库。

from urllib.parse import urlencodeimport requestsimport timeimport os

接着构造咱们的请求头和每一页的url。

base_url='https://www.duitang.com/napi/blog/list/by_search/?'headers = {    'Host':'www.duitang.com',    'Referer':'https://www.duitang.com/search/?kw=%e7%be%8e%e5%a5%b3&type=feed',    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36',    'X-Requested-With':'XMLHttpRequest'}
def get_page(start,count):    params={        'kw':'小姐姐',        'type':'feed',        'include_fields':'top_comments,is_root,source_link,item,buyable,root_id,status,like_count,like_id,sender,album,reply_count,favorite_blog_id',        '_type':'',        'start':start,        '_':count    }    url = base_url + urlencode(params)    try:        response = requests.get(url,headers=headers)        if response.status_code == 200:            return response.json()        else:            print("error")    except requests.ConnectionError as e:        print('Error',e.args)

获取到图片url就可以进行读写操作了。

def parse_page(json):    if json:        items = json.get('data').get('object_list')        for item in items:            data = {}            data['favorite_count'] = item.get('favorite_count');            item = item.get('photo')            data['path']=item.get('path'); ## 获取图片url地址            file_path = '{0}/{1}'.format('./'+download_dir, data['path'].split('/')[-1]) ## 将图片写入到本地硬盘上            with open(file_path, 'wb') as f:                img = requests.get(data['path'])                print(img)                f.write(img.content)            yield data

再写个主函数,完成

start_page = 0 ## 从第几页开始爬page_size = 5 ## 要爬多少页count = 1597729530322 ## 第1页请求数据中下划线的取值download_dir = "downlode_img">

"python如何爬取漂亮的图片作为壁纸"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0