我用Python爬了好多美女,你确定不来看看?

前期准备

# 安装wget,用于下载美女
pip install wget

# 安装requests_html,用于爬取页面元素
pip install requests_html


代码设计

1、请求headers随机选择,避免被反爬

2、定义downloadPic方法执行下载任务

3、定义getPicUrl方法,根据页面url获取图片url

4、定义main主方法,组织逻辑

5、对于图片关键词、图片数量抽离,万一你们不喜欢美女呢?

6、图片服务器选择搜狗


代码编写

import wget
from requests_html import HTMLSession
import urllib,urllib3
import os
import random
urllib3.disable_warnings()


BASE_DIR = os.path.dirname(__file__)
print(BASE_DIR)

user_agent_list = ["Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36",
             "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36 Edg/85.0.564.70"
            ]

header = {"Content-Type": "application/json",}

header['User-Agent'] = random.choice(user_agent_list)

def downloadPic(url,kw,pic_num,out_path,pic_type='jpg'):
    '''
    @url: 待下载的url
    @kw:图片关键词
    @pic_num:计划下载的数量
    @out_path:图片下载的相对路径
    @pic_type:图片类型
    '''
    img_name = '{}-{}.{}'.format(kw,pic_num,pic_type)
    img_full_name = '{}{}{}'.format(BASE_DIR,out_path,img_name)

    res = wget.download(url=url,out=img_full_name)
    if res:
        print('img:{} has downloaded!'.format(img_name))

def getPicUrl(req_url):
    session = HTMLSession()
    res = session.get(url=req_url,headers=header,verify=False)
    img_box = res.html.links

    for i in img_box:
        if 'jpg' in i or 'png' in i or 'jpeg' in i:
            return i

def main(kw='美女',num=10,img_path='img'):
    '''
    @kw: 关键词
    @num: 计划下载的数量
    '''
    # 将中文关键词编码
    kwd = urllib.parse.quote(kw)

    # 生成页面url
    for i in range(num):
        index = i+1
        base_url = 'https://pic.sogou.com/d?query={}&forbidqc=&entityid=&preQuery=&rawQuery=&queryList=&st=&did={}'.format(kwd,index)
        
        # 根据页面url,获取图片url
        url = getPicUrl(base_url)
        
        # 执行下载
        downloadPic(url=url,kw=kw,pic_num=index,out_path=img_path)

if __name__ == "__main__":
    main(kw='美女',num=10)

下载的美女


我用Python爬了好多美女,你确定不来看看?


大图欣赏


我用Python爬了好多美女,你确定不来看看?


还不赶紧去试试?想要帅哥的,修改kw='帅哥'即可。

展开阅读全文

页面更新:2024-02-26

标签:美女   图片下载   大图   中文   路径   逻辑   关键词   定义   数量   帅哥   页面   代码   计划   方法   图片   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top