Python爬虫实战:1000图库大全【别轻易点进来】

简介: Python爬虫实战:1000图库大全【别轻易点进来】

大家好,我是辣条。

今天给大家带来【爬虫实战100例】之41篇,爬虫之路永无止境。

爬取目标
网址:尺度有点大,遭不住...

效果展示

工具准备
开发工具:pycharm 开发环境:python3.7, Windows11 使用工具包:requests

项目解析思路
获取当当前网页的跳转地址,当前页面为主页面数据,我们需要的数据别有一番天地,获取到网页信息提取出所有的跳转地址,获取到源码里的a标签就行当前网页的加载方式为静态数据,直接请求网页地址;

url = 'https://www.xxxx.com/
从源代码里提取到所以的跳转地址

提取的方式可自行选择,小编这里使用正则的方式提取数据,提取详情页面的地址以及标题,用来保存图片起名字,获取到进入详情页面的地址后对地址发送请求,详情页面的数据也分为很多的页面,每个页面有好几张图片,需要对网址进行拼接,构造出新的地址信息,

for i in range(1, int(page_num[0]) + 1):
    if i == 1:
        new_url = info_url
    else:
        new_url = info_url.replace('.html', f'_{i}.html')
    # print(new_url)
    jpg_data = requests.get(new_url, headers=headers).content.decode('gbk')

请求之后提取出所有的图片地址在对图片地址发送请求,保存数据大功告成!!

简易源码分享
import requests
import re

headers = {

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'

}
for i in range(1, 20):

url = 'https://www.xxxx.com/guoneimeinv/list_5_{}.html'.format(i)
response = requests.get(url, headers=headers)
# print(response.content.decode('gbk'))
# 提取想要的数据信息
data_list = re.findall('</a> </li><li><a href="(.*?)" class="pic" target="_Blank" alt="(.*?)">', response.content.decode('gbk'))
# print(data_list)
num = 0
for info_url, title in data_list:
    # print(info_url)
     # print(title)
    res = requests.get(info_url, headers=headers).content.decode('gbk')
    # print(res)
    page_num = re.findall('<li><a>共(.*?)页: </a></li><li>', res)
    # print(page_num)

    for i in range(1, int(page_num[0]) + 1):
        if i == 1:
            new_url = info_url
        else:
            new_url = info_url.replace('.html', f'_{i}.html')
        # print(new_url)
        jpg_data = requests.get(new_url, headers=headers).content.decode('gbk')
        # print(jpg_data)
        jpg_url_list = re.findall('<p align="center"><img src="(.*?)" /></p><br/>', jpg_data)
        # print(jpg_url_list)
        for jgp_url in jpg_url_list:
            result = requests.get(jgp_url, headers=headers).content
            f = open('1000图库/' + title + "-" + str(num) + ".jpg", 'wb')
            f.write(result)
            num += 1
            print(f"正在下载{title}第{num}张")

目录
相关文章
|
9天前
|
监控 前端开发 API
实战指南:使用Python Flask与WebSocket实现高效的前后端分离实时系统
【7月更文挑战第18天】构建实时Web应用,如聊天室,可借助Python的Flask和WebSocket。安装Flask及Flask-SocketIO库,创建Flask应用,处理WebSocket事件。前端模板通过Socket.IO库连接服务器,发送和接收消息。运行应用,实现实时通信。此示例展现了Flask结合WebSocket实现前后端实时交互的能力。
|
1天前
|
SQL 安全 数据库
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
【7月更文挑战第26天】在 Python Web 开发中, 安全性至关重要。本文聚焦 SQL 注入、XSS 和 CSRF 这三大安全威胁,提供实战防御策略。SQL 注入可通过参数化查询和 ORM 框架来防范;XSS 则需 HTML 转义用户输入与实施 CSP;CSRF 防御依赖 CSRF 令牌和双重提交 Cookie。掌握这些技巧,能有效加固 Web 应用的安全防线。安全是持续的过程,需贯穿开发始终。
6 1
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
|
9天前
|
数据采集 存储 Java
如何让Python爬虫在遇到异常时继续运行
构建健壮Python爬虫涉及异常处理、代理IP和多线程。通过try/except捕获异常,保证程序在遇到问题时能继续运行。使用代理IP(如亿牛云)防止被目标网站封锁,多线程提升抓取效率。示例代码展示了如何配置代理,设置User-Agent,以及使用SQLite存储数据。通过`fetch_url`函数和`ThreadPoolExecutor`实现抓取与重试机制。
如何让Python爬虫在遇到异常时继续运行
|
4天前
|
前端开发 API 数据库
告别繁琐,拥抱简洁!Python RESTful API 设计实战,让 API 调用如丝般顺滑!
【7月更文挑战第23天】在Python的Flask框架下构建RESTful API,为在线商店管理商品、订单及用户信息。以商品管理为例,设计简洁API端点,如GET `/products`获取商品列表,POST `/products`添加商品,PUT和DELETE则分别用于更新和删除商品。使用SQLAlchemy ORM与SQLite数据库交互,确保数据一致性。实战中还应加入数据验证、错误处理和权限控制,使API既高效又安全,便于前端或其他服务无缝对接。
26 9
|
3天前
|
算法 搜索推荐 开发者
别再让复杂度拖你后腿!Python 算法设计与分析实战,教你如何精准评估与优化!
【7月更文挑战第23天】在Python编程中,掌握算法复杂度—时间与空间消耗,是提升程序效能的关键。算法如冒泡排序($O(n^2)$时间/$O(1)$空间),或使用Python内置函数找最大值($O(n)$时间),需精确诊断与优化。数据结构如哈希表可将查找从$O(n)$降至$O(1)$。运用`timeit`模块评估性能,深入理解数据结构和算法,使Python代码更高效。持续实践与学习,精通复杂度管理。
22 9
|
4天前
|
数据采集 Web App开发 存储
Python-数据爬取(爬虫)
【7月更文挑战第24天】
31 7
|
2天前
|
机器学习/深度学习 数据可视化 数据挖掘
从菜鸟到高手,一图胜千言!Python数据分析与机器学习中的数据可视化实战秘籍!
【7月更文挑战第24天】在数据科学中,数据可视化是探索与沟通的关键。从Matplotlib的基础绘图到Seaborn的统计图形,再到Plotly的交互式图表,这些工具助你成为数据叙事大师。示例代码涵盖正弦波图、小费散点图及鸢尾花分布图,展现从简单到复杂的可视化之旅。掌握这些技巧,你就能更有效地解析和呈现数据故事。
|
4天前
|
数据采集 机器学习/深度学习 算法
Python-数据爬取(爬虫)
【7月更文挑战第23天】
25 5
|
5天前
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
【7月更文挑战第22天】数据科学中,Matplotlib和Seaborn是Python的可视化主力。Matplotlib用于基础图表,如示例中的折线图;Seaborn则强化统计图形,如分布图。两者结合能创建复杂的可视化,如显示趋势与分布的同一图表。通过学习和运用这些工具,数据分析师能提升效率,更好地讲述数据故事。
18 2