Delphi编程之爬取贴吧帖子图片
大家如果经常在逛贴吧的时候,会看到很多帖子里有很多好看的图片,都想下载下来留存的话,常规的方法只能一张一张点击右键,然后图片另存为,这样的方法对于图片少的来说没什么,要是图片超过100张,200张,那可就痛苦了,今天就为大家介绍一下如何利用delphi去爬取贴吧帖子的图片。
delphi的爬虫思考
第一步,打开任意一个贴吧,比如图片吧。
打开图片吧
第二步,在贴吧里随意找个有很多图片的帖子。
有很多图片的帖子
第三步,在任意一层有图片的楼层,右键单击图片,选择检查。
右键单击检查
第四步,在页面显示出的源码界面,会看到被选中的代码,此行代码就是图片的下载地址了。
看到源码里的地址
第六步,然后我们复制这个地址前面的一段代码。这个代码就是所有楼层图片在网页源码中的标识型前缀,可以作为图片的识别标识。
复制这段代码
第七步,打开delphi,新建一个VCL Application Form,添加一个labelededit控件,3个button控件,2个memo控件,1个idhttp控件,1个IdSSLIOHandlerSocketOpenSSL控件,如下图,排列方式可以根据自己喜好自行调整。
程序主界面
第八步,主要代码在后面三个button里写。如下:
获取源码button:
图片地址button:
保存到文件夹button:
说明:
①对https的get,是需要有2个动态链接库支持的,分别是libeay32.dll和ssleay32.dll,把最新版本的这2个文件放到编译好的程序同文件夹下即可。
②Idhttp的IOhandler别忘了设置为IdSSLIOHandlerSocketOpenSSL控件。
③程序代码已经可以简单地实现下载帖子当前页的所有楼层图片。
下面是运行效果
程序运行效果
下载完成的图片
总结:通过以上的方式可以完成任意帖子当前页的图片下载,那么问题来了,如果我想下载好多页的图片怎么办呢,大家可以根据我前面几步的网页分析方式,去找到打开页码的源码,在delphi中执行循环打开页面,并将页面地址赋值到idhttp的get里,接下来水到渠成,这是我自己的爬取数据的思路,这里面的步骤都是可以放到一起一键完成,代码也是可以精简的,重要的是思路明确,代码优化和功能增强可以慢慢实现。
虽说目前Python爬取网页数据比较火,但是delphi爬取数据也是毫无压力,我技术有限,就抛砖引玉了。
Delphi编程之爬取贴吧帖子图片的更多相关文章
- Delphi编程之爬取贴吧多页帖子图片
接着上一篇文章说一下我们如何爬取多页帖子的图片. 第一步,还是随便找个贴吧,这次我们就找图片相对较少的射雕英雄传吧. 把页面拉到最底下,在页码区域单击右键,选择检查. 在这里我们看到了页码的代码区域, ...
- Delphi编程之爬取贴吧图片最终版
接着前面两篇文章的内容,我们今天把这个贴吧爬取图片的程序完善,让它具有可以下载贴吧多页和帖子多页图片的能力. 主界面设计如下,包含3个labelededit,3个button,1个memo,1个str ...
- python爬取某个网页的图片-如百度贴吧
python爬取某个网页的图片-如百度贴吧 作者:vpoet mail:vpoet_sir@163.com 注:随意copy,不用告诉我 #coding:utf-8 import urllib imp ...
- python爬取某个网站的图片并保存到本地
python爬取某个网站的图片并保存到本地 #coding:utf- import urllib import re import sys reload(sys) sys.setdefaultenco ...
- python网络爬虫之解析网页的正则表达式(爬取4k动漫图片)[三]
前言 hello,大家好 本章可是一个重中之重,因为我们今天是要爬取一个图片而不是一个网页或是一个json 所以我们也就不用用到selenium模块了,当然有兴趣的同学也一样可以使用selenium去 ...
- Python 爬取陈都灵百度图片
Python 爬取陈都灵百度图片 标签(空格分隔): 随笔 今天意外发现了自己以前写的一篇爬虫脚本,爬取的是我的女神陈都灵,尝试运行了一下发现居然还能用.故把脚本贴出来分享一下. import req ...
- C#爬取微博文字、图片、视频(不使用Cookie)
前两天在网上偶然看到一个大佬OmegaXYZ写的文章,Python爬取微博文字与图片(不使用Cookie) 于是就心血来潮,顺手撸一个C#版本的. 其实原理也很简单,现在网上大多数版本都需要Cooki ...
- 使用BeautifulSoup自动爬取微信公众号图片
爬取微信分享的图片,根据不同的页面自行修改,使用BeautifulSoup爬取,自行格局HTML修改要爬取图片的位置 import re import time import requests imp ...
- Python爬取 | 唯美女生图片
这里只是代码展示,且复制后不能直接运行,需要配置一些设置才行,具体请查看下方链接介绍: Python爬取 | 唯美女生图片 from selenium import webdriver from fa ...
随机推荐
- 移动端遇到的问题小结--video
本篇主要是针对Android系统,所遇到的问题. 1. video的全屏处理: 这里说的全屏是指针对浏览器的全屏,而不是整个手机的全屏.要想全屏效果只需对video标签加 webkit-plays ...
- Maven中基于POM.xml的Profile来动态切换配置信息
[转载:https://blog.csdn.net/blueheart20/article/details/52838093] 1. Maven中的profile设置 Maven是目前主流的项目代码结 ...
- git相关操作记录
拉取远端并强制覆盖本地文件 有时候会出现想放弃本地修改的情况,那么只需要下面几行命令 git fetch --all git reset --hard origin/master git pull / ...
- qtp中type方法的按键常量
记录键盘操作可以用set和presskey方法,而type方法是不记录的.type方法主要用于输入连接文本字符串和键盘修饰键(组合键),组合键之间用&符号. 如:JavaWindow(&quo ...
- CSS:margin和padding之谜
margin外边距,padding内边距.光看书本的介绍,理解起来好费劲,那咱就举个荔枝:你家的保险箱,是那种镶在墙壁里的,保险箱与墙壁的距离就是margin,保险箱壁就是所谓的border,保险箱与 ...
- Tsinghua 2018 DSA PA2简要题解
反正没时间写,先把简要题解(嘴巴A题)都给他写了记录一下. upd:任务倒是完成了,我也自闭了. CST2018 2-1 Meteorites: 乘法版的石子合并,堆 + 高精度. 写起来有点烦貌似. ...
- weka安装&配置&使用
安装与配置: 官网下载安装即可,分为带jre和不带jre版本,3.8需要jre1.8.如果装了1.7的话,还是自己先装一个1.8再装不带jre版本的比较好,不然weka装的会让人一脸懵逼,不知道装在哪 ...
- spyder中让生成的图像单独在窗口中显示
IPython 支持两种形式的绘图 终端输出图像新窗口输出图像方式 1 能够非常方便的保存输出记录(如将`IPython 终端输出转换成 Html 文件) 方式 2 则可以交互式的放大.拖动图片,并且 ...
- BATJ面试指南
Java并发编程面试题汇总 线程 线程是一个独立执行的调用序列,同一个进程的线程在同一时刻共享一些系统资源(比如文件句柄等)也能访问同一个进程所创建的对象资源(内存资源).java.lang.Thre ...
- C++各种优化
目录 1.快速结束程序 2.register 3.inline 4.位运算 5.少用或不用STL 6.快读快写 准备工作 超慢cin cout 输出 输入 神一般的快读快写 对比 7.小技巧 8.co ...