头条网下载美女图 ------ python学习之

今日头条美女图爬虫实战
本文分享了一款用于从今日头条网站爬取特定关键词图片的Python爬虫代码。该爬虫能够搜索并下载高清图片,包括解析JSON响应、图片链接转换等步骤,并提供了完整的文件保存流程。

从头条网下载美女图,转载自

yaoyefengchen的专栏

原地址为:https://blog.youkuaiyun.com/yaoyefengchen/article/details/79100388

网站有改动,原代码不能用了,因此改了下,目前可用。

#-*- coding: utf-8 -*-

import os
import re
import json
import requests
from urllib.parse import urlencode


def get_one_page(offset, keyword):
    '''
    获取网页html内容并返回
    '''
    paras = {
        'offset': offset,       # 搜索结果项开始的位置
        'format': 'json',       # 返回的数据格式
        'keyword': keyword,     # 搜索的关键字
        'autoload': 'true',     # 自动加载
        'count': 20,            # 每次加载结果的项目数
        'cur_tab': 3,           # 当前的tab页索引,3为“图集”
        'from': 'gallery'       # 来源,“图集”
    }


    url = 'https://www.toutiao.com/search_content/?' + urlencode(paras)
    try:
        # 获取网页内容,返回json格式数据
        response = requests.get(url)
        # 通过状态码判断是否获取成功
        if response.status_code == 200:
            return response.text
        return None
    except RequestException:
        return None


def parse_one_page(html):
    '''
    解析出组图网址,并将网页中所有图集的标题及图片地址返回
    '''
    urls = []
    data = json.loads(html)
    if data and 'data' in data.keys():
        for item in data.get('data'):
            page_urls = []
            title = item.get('title')
            image_detail = item.get('image_list')
            for i in range(len(image_detail)):
                # 获取large图片地址
                url = image_detail[i]['url']
                # 替换URL获取高清原图
                url = url.replace('list', 'origin')
                page_urls.append('http:'+url)
            urls.append({'title': title,'url_list': page_urls})
    return urls


def save_image_file(url, path):
    '''
    保存图像文件
    '''
    ir = requests.get(url)
    if ir.status_code == 200:
        with open(path, 'wb') as f:
            f.write(ir.content)
            f.close()


def main(offset, word):
    html = get_one_page(offset, word)
    urls = parse_one_page(html)


    # 图像文件夹不存在则创建
    root_path = word
    if not os.path.exists(root_path):
        os.mkdir(root_path)


    for i in range(len(urls)):
        print('---正在下载 %s'%urls[i]['title'])
        folder = root_path 
        if not os.path.exists(folder):
            try:
                os.mkdir(folder)
            except NotADirectoryError:
                continue
            except OSError:
                continue


        url_list = urls[i]['url_list']
        for j in range(len(url_list)):
            path = folder + '/' + str("%02d"%i) + str("%02d"%j) + '.jpg' 
            if not os.path.exists(path):
                save_image_file(urls[i]['url_list'][j], path)


if __name__ == '__main__':
    # 抓取2000个图集,基本上包含全部图集
    
  while True:
    word = input('请输入从今日头条下载的照片名称(或"q"退出):\n')
    if word == 'q':
        break
    else:
        for i in range(200):
            main(i*20, word)

内容概要:本文围绕六自由度机械臂的人工神经络(ANN)设计展开,重点研究了正向与逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程,并通过Matlab代码实现相关算法。文章结合理论推导与仿真实践,利用人工神经络对复杂的非线性关系进行建模与逼近,提升机械臂运动控制的精度与效率。同时涵盖了路径规划中的RRT算法与B样条优化方法,形成从运动学到动力学再到轨迹优化的完整技术链条。; 适合人群:具备一定机器人学、自动控制理论基础,熟悉Matlab编程,从事智能控制、机器人控制、运动学六自由度机械臂ANN人工神经络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)建模等相关方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握机械臂正/逆运动学的数学建模与ANN求解方法;②理解拉格朗日-欧拉法在动力学建模中的应用;③实现基于神经络的动力学补偿与高精度轨迹跟踪控制;④结合RRT与B样条完成平滑路径规划与优化。; 阅读建议:建议读者结合Matlab代码动手实践,先从运动学建模入手,逐步深入动力学分析与神经络训练,注重理论推导与仿真实验的结合,以充分理解机械臂控制系统的设计流程与优化策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值