斗图网斗图全站爬取(用正则表达式re)

2023-11-06

import  re 
import requests
import os


class doutu_spyder():
    first_url=[]
    first_name=[]
    headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
    

    def open_url(self,url):#爬取网页代码
        html=requests.get(url,headers=self.headers)
        html=html.content.decode()
        return html

    def get_first_url(self,url):#得到首页表情包的URL
        html=self.open_url(url)
        first_name_re=re.compile(r'<div class="thumbnail".*?<a .*?rel="bookmark" target="_blank" title="(.*?)[ \[]',re.S)
        self.first_name=first_name_re.findall(html)
        first_url_re=re.compile(r'<div class="thumbnail".*?<a href="(.*?)"',re.S)
        self.first_url=first_url_re.findall(html)     
        #i=0i += 1
        print(self.first_name)
        print(self.first_url)
        for item in  self.first_name:
            if not os.path.exists('D:/img/%s'%item):
                os.mkdir('d:/img/%s'%item)#创建文件夹


    def download_img(self):
        i=-1
        for url in self.first_url:#把二级页面的
            html=self.open_url(url)
            first_url_re=re.compile(r'<img title=.*?src="(.*?)"',re.S)
            first_url1=first_url_re.findall(html) 
            print(url)             
            i += 1           
            t=0
            print(self.first_name[i])       
            for item in  first_url1:#图片URL
                t=t+1
                print(item)
                image_name = '斗图_' + str(t) + '.gif'         # 图片命名
                print(image_name)
                with open('D:/img//{}/{}'.format(self.first_name[i],image_name),'ab')as f:
                    img=requests.get(item,headers=self.headers)
                    f.write(img.content)
                    f.close
            
   # def download_(self,path,name):


if __name__ == '__main__': 
     spyder= doutu_spyder()#爬单页
     spyder.get_first_url(url='http://www.bbsnet.com/')
     spyder.download_img()
     spyder.first_name=[]
     spyder.first_url=[]

     for a in rang(2,): 爬多页
        url='http://www.bbsnet.com/page/'+str(a)
        spyder.get_first_url(url)
        spyder.download_img()
        spyder.first_name=[]
        spyder.first_url=[]
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

斗图网斗图全站爬取(用正则表达式re) 的相关文章

  • Java正则工具类:字母数字下划线、数据库url校验等

    文章目录 前言 一 正则基础语法 二 正则工具类 总结 前言 本文内容观摩的是其他作者的代码 在基础上增加修改了一些 参考原文地址 java用正则表达式 提示 以下是本篇文章正文内容 下面案例可供参考 一 正则基础语法 字符 描述 匹配输入
  • SparkSQL HiveSQL 常用正则表达式

    SparkSQL HiveSQL 常用正则表达式 目录 SparkSQL HiveSQL 常用正则表达式 1 匹配汉字 2 匹配手机号码 3 匹配身份证 4 SparkSQL HiveSQL 常用正则函数 5 SparkSQL 分组 聚合
  • 跳过selenium检测爬取淘宝直通车

    最近 有对阿里商家端进行一些数据爬取 这次爬取的是直通车人群溢价数据 发现对selenium的检测相当厉害 然而我的回答是 你强任你强 清风拂山岗 咱人工登录怕过谁 什么cokies user agent selenium检测 token
  • Linux文本处理工具和正则表达式

    Linux文本处理工具和正则表达式 一 查看 截取和修改文本的工具 1 查看文本的工具 cat 最常用的文件查看命令 当不指明文件或者文件名为一杠 时 读取标准输入 cat OPTION FILE A 显示所有控制符 tab键 I 行结束符
  • Nmap源码分析(服务与版本扫描)

    Nmap源码分析 服务与版本扫描 2012年8月23日 在进行端口扫描后 Nmap可以进一步探测出运行在端口上的服务类型及应用程序的版本 目前Nmap可以识别几千种服务程序的签名 Signature 覆盖了180多种应用协议 比如 端口扫描
  • 38 匹配字符串——findall()方法

    文章目录 语法 案例 语法 findall 方法用于在整个字符串中搜索所有符合正则表达式的字符串 并以列表的形式返回 如果匹配成功 则返回包含匹配结构的列表 否则返回空列表 findall 方法的语法格式如下 re findall patt
  • 正则表达式大全,一篇前后端都可用

    正是掌握了这些正则表达式 冰河平均每天比别人少写200行代码 极大的提高了研发效率 熟练的掌握正则表达式 能够帮助程序员以最快的速度写出最优雅的代码 冰河在多年的编程工作中 对使用过的正则表达式进行了梳理和总结 这些正则表达式能够帮助你节省
  • 新路子!chatGPT+Python爬虫接私单怎么玩?

    就在这两天 关于ChatGPT的疾呼突然在社交平台上刷屏 很多人发现自己的号已经不在了 用户们感到前所未有的惶恐 已经有不少公司把 chatGPT引入工作流 未来已来 AI智能时代真的来了 普通人如何在智能时代谋求发展 这里提供一个思路 c
  • 对字符串进行正则取子串

    题目是这样的 对一段HTML网页内容 解析出其中所有的键值对 比如其中type text type为属性 text为值 二者为一个键值对 内容如下
  • 使用正则表达式爬虫抓取猫眼电影排行Top100

    目标站点分析 分析网址 首页 https maoyan com 点击榜单 https maoyan com board 点击Top100 https maoyan com board 4 目标站点为 https maoyan com boa
  • 用Requests和正则表达式爬取猫眼电影(TOP100+最受期待榜)

    目标站点分析 目标站点 猫眼榜单TOP100 如下图 猫眼电影的翻页offset明显在URL中 所以只要搞定第一页的内容加上一个循环加上offset就可以爬取前100 流程框架 1 抓取单页内容 利用requests请求目标站点 得到单个网
  • Python3 如何优雅地使用正则表达式(详解五)

    非捕获组命名组 精心设计的正则表达式可能会划分很多组 这些组不仅可以匹配相关的子串 还能够对正则表达式本身进行分组和结构化 在复杂的正则表达式中 由于有太多的组 因此通过组的序号来跟踪和使用会变得困难 有两个新的功能可以帮你解决这个问题 非
  • 初学Python到月入过万最快的兼职途径(纯干货)

    1 兼职薪资 附行哥工资单 2 兼职门槛 附学习知识清单 3 兼职途径 附入职考核过程 4 行哥的兼职感受 答应行友的第一篇赚钱干货推文来啦 行哥第一个在读书期间通过兼职赚到的10w 收入 这也是初学Python小白最快达到月入过万的途径
  • test is not a function (js正则表达式匹配问题)

    js中正则表达式匹配时 如果使用test函数 就必须不带引号 并且必须是 定义的规则变量 test 要测试的string 定义变量规则不要带引号 会错误的 如果不使用test 使用match则可以带引号 var re 1 9 d 4 10
  • regex_replace()函数的应用与解析

    include
  • JS字符串替换函数全部替换方法

    color olive JS字符串替换函数 Replace 字符串1 字符串2 1 我们都知道JS中字符串替换函数是Replace 字符串1 字符串2 但是这个函数只能将第一次出现的字符串1替换掉 那么我们如何才能一次性全部替换掉了 将上面
  • 爬虫 跨域请求 获取json数据 解决参数加密

    分析网址 提示 抓取对方信息是通过对方允许的 请不要违法操作 抓取其他个人有关信息 网址先发送了一个OPTIONS请求 Request URL http xxxxxxxx com Request Method OPTIONS Status
  • java OpenOffice把word转html(Convert word to html )

    1 下载安装OpenOffice 网址http download openoffice org index html 2 下载第三方工具包JODConverter http www artofsolving com opensource j
  • JavaEE - 正则表达式、日期时间类、Math、Random、System、Runtime、大数值运算类

    一 正则表达式 用来描述或者匹配一系列符合某个语句规则的字符串 正则表达式定义了字符串的模式 可以用来搜索 编辑或处理文本 正则表达式是由普通字符 例如字符 a 到 z 以及特殊字符 称为 元字符 组成的文字模式 模式描述在搜索文本时要匹配
  • MySQL 通配符学习小结

    原文 http blog csdn net ithomer article details 5130386 MySQL 通配符 SQL的模式匹配允许你使用 匹配任何单个字符 而 匹配任意数目字符 包括零个字符 在 MySQL中 SQL的模式

随机推荐

  • VUE启动问题(You may use special comments to disable some warnings)

    vue启动时出现以下问题 出现问题的原因 Eslint的检测机制 解决方法 在build webpack base conf js文件中注释掉第44行代码 如下图 重新yarn start 或者npm run dev 解决方法 在confi
  • 2014腾讯软件开发类笔试题(广州站)

    考试时长 120分钟 一 不定项选择题 共25题 每题4分 共100分 少选 错选 多选均不得分 1 已知一棵二叉树 如果先序遍历的节点顺序是 ADCEFGHB 中序遍历是 CDFEGHAB 则后序遍历结果为 D A CFHGEBDA B
  • 如何实现云数据治理中的数据安全?

    摘要 云计算被定义为计算资源的共享池 已经在不同的应用领域广泛部署和使用 在云计算中 数据治理在提高整体性能和确保数据安全方面发挥着至关重要的作用 本研究从管理和技术应用两方面探讨如何实现云数据治理中的数据安全 关键词 大数据 云计算 数据
  • 2021-03-25

    pytorch IndexError scatter Expected dtype int64 for index 1 问题产生原因及解决方法 scatte r 要求数据是int64类型 检查传入scatter 函数的tensor 类型是不
  • Linux服务器系统内存监控方法详解

    Linux服务器系统内存监控方法详解 内存是Linux内核所管理的最重要的资源之一 内存管理系统是操作系统中最为重要的部分 因为系统的物理内存总是少于系统所需要的内存数量 虚拟内存就是为了克服这个矛盾而采用的策略 系统的虚拟内存通过在各个进
  • js 实现php md5加密,js实现md5加密插件代码分享

    本文主要和大家分享js实现md5加密插件代码 希望能帮助到大家 使用方法 引入文件 var MD5 MD5 createMD5String yourSrting function globle factory 判断执行环境是否为浏览器 ty
  • RF 浏览器与浏览器驱动 浏览器与驱动

    历史版本的火狐 http ftp mozilla org pub firefox releases 火狐驱动 https github com mozilla geckodriver releases IE驱动 iedriverserver
  • 【深度学习】在学习pytorch时,一些不会的python语法总结(1)

    文章目录 一 builtin function or method object has no attribute size 二 获取张量的四个维度 torch里的size 函数 三 改变tensor形状的函数view 一 builtin
  • 并发编程JMM系列之重排序和顺序一致性

    前言 昨天我们接触到了什么是Java内存模型以及两种Java并发模型 并对JMM有了一些初步的认识和了解 我们在上节有提到JMM的重排序规则 但是讲的不详细 今天我们再重点聊下重排序这个东西 以及顺序一致性内存模型 OK 开始我们今天的并发
  • RP9-3 事件 情形

    事件 1 元件的鼠标事件10种 也包括两种触屏 单击和长按 单击 Click or Tap 双击 Double Click or Double Tap 右击 Context Meuu Right Click 按下 Mouse Button
  • 解决Windows 组件存储已损坏,0x80073712错误

    在 Windows 8 与 Windows Server 2012 当系统组件有损毁时 我们可以在不影响目前系统状况下来检查与修复系统组件 如下 当我添加功能组件时报如下错误 明显可以看出我的组件存储已损坏 那今天就让我告诉大家解决方案 我
  • 算法、数据结构可视化

    算法 数据结构可视化 一 总结 一句话总结 比如算法 数据结构 很多都有可视化 学习要知道用可视化更好的学习 1 可视化数据结构 http www cs usfca edu galles visualization Algorithms h
  • ffmpeg的使用

    目录 ffmpeg的下载 配置 下载 版本说明 环境变量配置 ffmpeg处理m3u8 ts的常用命令 ffmpeg是一个十分强大的音视频处理工具 提供转码 播放等基础功能 功能十分全面 强大 但命令繁多复杂 通常不直接使用 而是集成在带G
  • vue门户网站,滚动到可视化区域展示动画效果方案

    1 准备两个工具库 1 1 animate css 动画库 动画效果展示 Animate css A cross browser library of CSS animations 1 2 wowjs 负责滚动到可视化区域 展示animat
  • 各种正交以及正交和

    20200924 笛卡尔积里面选取交集为空或者交集等于恒值 自己定义其他条件 的 相乘之和 https www 59baike com a 365039 35 i 正交和 编程中 经常出现正交这个词 正交指相互独立 不可替代 并且组合起来可
  • openwrt上nginx扩展模块的支持

    在固件开发过程中 上层业务层需要用到nginx的一些扩展模块 比如ngx devel kit master set misc nginx module master nginx push stream module master ngx c
  • 幸运数的划分

    题目描述 判断一个正整数n是否能被一个 幸运数 整除 幸运数是指一个只包含4或7的正整数 如 7 47 477等都是幸运数 17 42则不是幸运数 输入 一行一个正整数n 1 n 1000 输出 一行一个字符串 如果能被幸运数整除输出 YE
  • ArgumentError: Python argument types in ****** did not match C++ signature:

    这种错误一般是由于数据类型错误 我是这样的 ArgumentError Traceback most recent call last tmp ipykernel 2665 3113553009 py in 26 27 filename c
  • 三极管的三种状态

    三极管的三种状态也叫三个工作区域 即 截止区 放大区和饱和区 1 截止区 三极管工作在截至状态 当发射结电压Ube小于0 6 0 7V的导通电压 发射结没有导通 集电结处于方向偏执 没有放大作用 2 放大区 三极管的发射极加正向电压 集电极
  • 斗图网斗图全站爬取(用正则表达式re)

    import re import requests import os class doutu spyder first url first name headers User Agent Mozilla 5 0 Windows NT 10