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 ...
随机推荐
- 支付-stripe
国外三大支付paypal,braintree,stripe,有兴趣可以去了解一下他们的区别. 支付宝和paypal基本只需要发送charge信息请求交给后端做就ok了,那么stripe前端也只需要收集 ...
- 菜鸡学C语言之真心话大冒险
题目描述 Leslie非常喜欢真心话大冒险的游戏.这一次游戏的规则有些不同.每个人都有自己的真心话,一开始每个人也都只知道自己的真心话.每一轮每个人都告诉指定的一个人他所知道的所有真心话,那么Lesl ...
- C# linq操作是否延迟对照表
·Select - Select选择:延迟 ·Where - Where查询:延迟 ·OrderBy - 按指定表达式对集合正序排序:延迟 ·OrderByDescending - 按指定表达式对集合 ...
- ReactJS之遍历对象的方法
const obj = { channel: “wevmvmklskdosll12k;0”, index:0 }; Object.keys(obj).map(key => console.log ...
- 网络通信协议,TCP和UDP 的区别
1.网络通信 互联网本质就是一系列的网络通信,互联网协议的功能是定义计算机如何介入internet,以及介入internet的计算机通信的标准.互联网协议按照功能不同分为osi7层或tcp/ip五 ...
- mycat环境搭建
最近工作中突然让搞mycat,特意私下在家先搞一套练个手: 1.先下载一个CentOS7 mini版本就可以(本人机器性能有限): 2.使用VMware创建虚拟机,过程百度下一大堆,这里不做详细介绍. ...
- 【Java集合系列四】HashSet和LinkedHashSet解析
2017-07-29 16:58:13 一.简介 1.Set概念 Set可以理解为集合,非常类似数据概念中的集合,集合三大特征:1.确定性:2.互异性:3.无序性,因此Set实现类也有类似的特征. 2 ...
- 【js高程学习笔记】关于变量值和函数参数
变量包含了两种不同类型的值: 基本类型 (Undefined.null.Boolean.Number.string都属于基本类型) 引用类型 (对象) 两种值在赋值上不同的是: 将一个引用类型的值(对 ...
- 【Appium】Appium工作原理(2)
Appium原理 面试的时候,被问到appium原理,一点不会,实在尴尬. 大家可以直接翻看原作https://blog.csdn.net/jffhy2017/article/details/6922 ...
- 遇到的难题之一 —— js方法toFixd()
工作中遇到金额需要保留两位小数的需求,单价1.265,数量为1,正常来讲金额应为1.27,用了toFixd()方法后结果为1.26. 最终找到问题所在:1.265 - 1.26 = 0.0049999 ...