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

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

直接上代码:

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/后面的数字就是对应的页码,记住这一点为编写程序做准备。
1193 0
|
数据采集 Python Windows
python3爬虫(二)实战- 爬糗事百科
2017-3-09 代码如下. 必须加上head否则无法抓取. # -*- coding:utf-8 -*- import urllib.
1071 0
|
22天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
66 6
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
187 4
|
3月前
|
数据采集 存储 搜索推荐
打造个性化网页爬虫:从零开始的Python教程
【8月更文挑战第31天】在数字信息的海洋中,网页爬虫是一艘能够自动搜集网络数据的神奇船只。本文将引导你启航,用Python语言建造属于你自己的网页爬虫。我们将一起探索如何从无到有,一步步构建一个能够抓取、解析并存储网页数据的基础爬虫。文章不仅分享代码,更带你理解背后的逻辑,让你能在遇到问题时自行找到解决方案。无论你是编程新手还是有一定基础的开发者,这篇文章都会为你打开一扇通往数据世界的新窗。
|
4月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
【7月更文挑战第31天】在网络数据的海洋中,使用Python的`requests`库构建网络爬虫就像探索未知的航船。HTTP协议指导爬虫与服务器交流,收集信息。HTTP请求包括请求行、头和体,响应则含状态行、头和体。`requests`简化了发送各种HTTP请求的过程。
84 4
|
1月前
|
数据采集 存储 数据挖掘
深入探索 Python 爬虫:高级技术与实战应用
本文介绍了Python爬虫的高级技术,涵盖并发处理、反爬虫策略(如验证码识别与模拟登录)及数据存储与处理方法。通过asyncio库实现异步爬虫,提升效率;利用tesseract和requests库应对反爬措施;借助SQLAlchemy和pandas进行数据存储与分析。实战部分展示了如何爬取电商网站的商品信息及新闻网站的文章内容。提醒读者在实际应用中需遵守法律法规。
187 66
|
20天前
|
数据采集 Web App开发 JavaScript
爬虫策略规避:Python爬虫的浏览器自动化
爬虫策略规避:Python爬虫的浏览器自动化
|
23天前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
51 4