python爬虫练习之爬豆瓣top250图片头像

python爬虫入门练习,爬豆瓣网(感谢豆瓣网--双手合十

#!/usr/bin/python3
# -*- coding: utf-8 -*-

import requests
from bs4 import BeautifulSoup
import time
import os


def padouban():
    path='D:\\picture_files'
    if os.path.exists(path):
        print("路径已存在,无需创建")
    else:
        print("路径不存在,需创建路径,正在创建")
        os.mkdir(path)

    movieurl=['https://movie.douban.com/top250/?start={}&filter='.format(i) for i in range(0,250,25)] #一共250页,最好别写这么多
    count = 0
    for url_bianliang in movieurl:

    #Xpath='//*[@id="content"]/div/div[1]/ol/li[1]/div/div[2]/div[1]/a/span[3]'
        headers={
        "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
        "Accept-coding":"gzip, deflate, br",
        "Accept-language":"zh-CN,zh;q=0.9,en-GB;q=0.8,en-US;q=0.7,en;q=0.6",
        "Cache-Control":"max-age=0",
        "Connection":"keepalive",
        "Refer":"https://www.baidu.com/link?url=CZenQ6ne8mqB7tawlE1eqM9hqcQ9LTyU_XzndOrk3GwSPiBcNnUpJ4x0egm5AkiR&wd=&eqid=f22a72d70003713a000000036256b4a3",
        "Upgrade-Insecure-Requests":"1",
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36",
        }
        time.sleep(10)
        requests.packages.urllib3.disable_warnings()
        r=requests.get(url_bianliang,headers=headers,verify=False)
        soup=BeautifulSoup(r.content,'html.parser')
        li=soup.find('ol',class_='grid_view').find_all('img')#找的图片,也可以换成名字或者其他的
        for i in li:
            src_rs=i.get('src')#获取图像标签 总
            finalsrc=requests.get(src_rs) #获取每个的图像标签
            print(finalsrc)
            if src_rs.split(".")[-1] == 'webp':
                src_name=src_rs.split('/')[-1].split('.')[0]+'.jpg' #图片改个格式
                print(src_name+'正在下载...') #写入文件 即是 下载
                with open(path+'/'+src_name,'wb') as f:
                     f.write(finalsrc.content)
                     f.close()
        count = count + 1
        if count < 250:
            print('第 ' + str(count) + ' 页,下载完成')
        else:
            print('250页,全部下载完成啦!')

if __name__ == '__main__':
    padouban()
#------
#print(soup.prettify()) 分行
#翻页抓取

入门想看看的,可以直接复制运行。

效果大概就这这样子

---------------------------------------------------------------------------------------------

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值