爬虫 正则 之 爬取糗事百科的照片

简介: 爬虫 正则 之 爬取糗事百科的照片

直接上代码:

import re
import requests
# 创建定长数字,作为一会名字
def creat_fivenum(num,n=5):
    for i in range(1,10):
        s=str(num)
        j=10**i
        if (int(num/j)==0):
            for a in range(1,6-i):
                s="0"+s
            return s

#爬取臭事百科
# https://www.qiushibaike.com/imgrank/
# 分析一下照片所在的区域
# <div class="thumb">
# <a href="/article/124066439" target="_blank">
# <img src="//pic.qiushibaike.com/system/pictures/12406/124066439/medium/NKSSOW6NS7WM1L6J.jpg" alt="糗事#124066439" class="illustration" width="100%" height="auto">
# </a>
# </div>
def downQiushiImg(endpage=13):
    """
    只需要传参,一共爬取多少页就行
    :param endpage:
    :return:
    """
    num = 1 # 初始化计数器
    for page in range(endpage):
        url = f"https://www.qiushibaike.com/imgrank/page/{page+1}/"
        res = requests.get(url, headers=headers)
        ex = '<div class="thumb">.*?<img src="(.*?)" alt.*?</div>'
        r = re.findall(ex, res.text, re.S)
        for i in r:
            url = "http:" + i
            print(url)
            res = requests.get(url, headers=headers)
            with open(f"D://糗事百科image/{creat_fivenum(num)}.png", "wb")as f:
                f.write(res.content)
            num = num + 1;
    print(f"爬取完毕,一共{num-1}个照片")
downQiushiImg()

View Code

注意:再次申明,正则用的不好,是因为你需要指定re.S

相关文章
|
数据采集 Python
Python网络爬虫之爬取糗事百科案例
项目说明 使用Python写网络爬虫之糗事百科示例 使用工具 Python2.7.X、pycharm 使用方法 在pycharm中创建一个ceshi.py文件,撰写代码,运行代码,查看运行结果 操作原理 1.首先先了解正则表达式的使用方法,见:正则表达式 2.找到糗事百科的主页URL:http://www.qiushibaike.com/hot/page/1 可以看出来,链接中page/后面的数字就是对应的页码,记住这一点为编写程序做准备。
1184 0
|
数据采集 Python Windows
python3爬虫(二)实战- 爬糗事百科
2017-3-09 代码如下. 必须加上head否则无法抓取. # -*- coding:utf-8 -*- import urllib.
1066 0
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
102 4
|
27天前
|
数据采集 存储 搜索推荐
打造个性化网页爬虫:从零开始的Python教程
【8月更文挑战第31天】在数字信息的海洋中,网页爬虫是一艘能够自动搜集网络数据的神奇船只。本文将引导你启航,用Python语言建造属于你自己的网页爬虫。我们将一起探索如何从无到有,一步步构建一个能够抓取、解析并存储网页数据的基础爬虫。文章不仅分享代码,更带你理解背后的逻辑,让你能在遇到问题时自行找到解决方案。无论你是编程新手还是有一定基础的开发者,这篇文章都会为你打开一扇通往数据世界的新窗。
|
2月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
【7月更文挑战第31天】在网络数据的海洋中,使用Python的`requests`库构建网络爬虫就像探索未知的航船。HTTP协议指导爬虫与服务器交流,收集信息。HTTP请求包括请求行、头和体,响应则含状态行、头和体。`requests`简化了发送各种HTTP请求的过程。
69 4
|
2月前
|
数据采集 存储 API
在信息时代,Python爬虫用于自动化网络数据采集,提高效率。
【7月更文挑战第5天】在信息时代,Python爬虫用于自动化网络数据采集,提高效率。基本概念包括发送HTTP请求、解析HTML、存储数据及异常处理。常用库有requests(发送请求)和BeautifulSoup(解析HTML)。基本流程:导入库,发送GET请求,解析网页提取数据,存储结果,并处理异常。应用案例涉及抓取新闻、商品信息等。
82 2
|
9天前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
41 3
|
9天前
|
数据采集 API 开发者
🚀告别网络爬虫小白!urllib与requests联手,Python网络请求实战全攻略
在网络的广阔世界里,Python凭借其简洁的语法和强大的库支持,成为开发网络爬虫的首选语言。本文将通过实战案例,带你探索urllib和requests两大神器的魅力。urllib作为Python内置库,虽API稍显繁琐,但有助于理解HTTP请求本质;requests则简化了请求流程,使开发者更专注于业务逻辑。从基本的网页内容抓取到处理Cookies与Session,我们将逐一剖析,助你从爬虫新手成长为高手。
27 1
|
18天前
|
数据采集 机器学习/深度学习 搜索推荐
Python爬虫技术基础与应用场景详解
本文介绍了爬虫技术的基本概念、原理及应用场景,包括数据收集、价格监测、竞品分析和搜索引擎优化等。通过一个实战案例展示了如何使用Python爬取电商网站的商品信息。强调了在使用爬虫技术时需遵守法律法规和道德规范,确保数据抓取的合法性和合规性。