惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Know Your Adversary
Know Your Adversary
云风的 BLOG
云风的 BLOG
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
B
Blog
罗磊的独立博客
宝玉的分享
宝玉的分享
Vercel News
Vercel News
Martin Fowler
Martin Fowler
N
Netflix TechBlog - Medium
P
Proofpoint News Feed
T
Threatpost
Security Latest
Security Latest
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Stack Overflow Blog
Stack Overflow Blog
I
Intezer
P
Privacy International News Feed
D
Docker
月光博客
月光博客
博客园 - 三生石上(FineUI控件)
M
MIT News - Artificial intelligence
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
Lohrmann on Cybersecurity
Google DeepMind News
Google DeepMind News
The Last Watchdog
The Last Watchdog
A
Arctic Wolf
IT之家
IT之家
S
SegmentFault 最新的问题
S
Securelist
博客园 - 叶小钗
N
News and Events Feed by Topic
F
Full Disclosure
Security Archives - TechRepublic
Security Archives - TechRepublic
Engineering at Meta
Engineering at Meta
Hacker News: Ask HN
Hacker News: Ask HN
博客园 - Franky
GbyAI
GbyAI
AI
AI
Y
Y Combinator Blog
WordPress大学
WordPress大学
Latest news
Latest news
Microsoft Security Blog
Microsoft Security Blog
人人都是产品经理
人人都是产品经理
N
News | PayPal Newsroom
The Cloudflare Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
I
InfoQ

博客园 - 大步前行

destoon的如何显示tag生成的sql语句 今天看到一个关于黄帝内经的消息,祝华英的消息 laravel 代码维护, 使用php artisan使用应用程序处于维护状态 csdn能不靠点谱啊 Laravel4.2取得配置文件值 dwz 取不到 form中的值 无法开始服务器! 服务器执行缺少? thinkphp __PUBLIC__的定义 __ROOT__等常量的定义 树形列表 jqtree数据 使用 htaccess不起作用的解决方法,AllowOverride All打开后出现403错误时解决办法 好久不做开发了,最近使用vs2008遇到了不能添加多个项目的问题,在此标记一下 看到蘑菇街的注册界面不错,截了个图,发这在里,做个标记 蓝色标题栏div css 如何使用ActionScript来检测用户的语言及屏幕分辨率 如何使用ActionScript来检测用户的操作系统种类及浏览器类型 如何使Flex Builder 3与flash cs4共同工作 在flash中使用arguments数组 flash 的计数器 flash的运算比较符
图片下载器下载网页内容及网页图片,节省时间
大步前行 · 2012-11-27 · via 博客园 - 大步前行

最近在网络工作工作,主要是做网站,给网页加上cms后台,由于有一些网站的内容是从原来的网站上借鉴过来的,所以要下载一些内容填充到后台中,由于手式操作比较困难,所以就写了一个小工具.

 

输入要下载的网址

以这个为例

http://www.lqpcjx.com/main.asp?bigproclassid=2&smallproclassid=0&id=9

这个地方显示的是产品列表,我们要取出其中的图片地址,一般情况下,我们用的是正则表达式来匹配我们想的内容,但是正则表达式写起来有一定的难度(至少我是这样的),所以,我们先下载下来网站的源代码,然后写一些正则表达式来,试验一下,我们的正则表达式是否正确,是否匹配到了我们想要的内容,

选择,页面的编码,如页面的编码是GB2312,或者UTF-8,选择好编码不至于了现乱码,点击下载一下,就会在下载的内容这个文件框中出现下载的内容,这个框比较小,如果想看全一点的代码,可以点击,放大查看网页源文件,

会弹出一个form来显示文本框中的文本,如果只是查看,不做修改,点击,关闭按钮就可以了,如果要修改内容,就点击修改好了就可以,这样文本框中的文本就会变成被修改的内容了.

这时,就可以输入正则表达式了,点击开始匹配就可以了,查看匹配出的结果了

匹配的结果就在匹配结果中显示

显示form2这个按钮是弹出form2这个form来下载我们需要的内容的

 

第一个配置页面,是显示出我们想的下载的页面,及内容,

页面里写了一个规则可以批量添加地址,这个地址是用一个arraylist来保存,不会出现重复的内容,如果只是一个单面,那就不用理会,后面的通配符选项,直接点击添加就可以了,地址列表会在网址列表中,显示出来,如果出现列表里有不需要下载的地址,选中,然后按删除键就可以了.

下面的是正则表达式规则,添加方法也地址方法一样.

地址列表与正则列表都准备好了,就可以点击按钮进行匹配处理了,在处理的时候有一个选项,从前一个结果中匹配,

这个选项的效果是第二个表达式的源内容是从第一个表达式的匹配结果中匹配的,

举个例子,

http://www.lqpcjx.com/main.asp?pid=72&id=9

我们要匹配这个页面的产品图像与产品介绍,因为这个页面如果使用这个正则表达式的话, src="uploadfile/\d+.jpg"

会出现很多个结果,我们想要的只有一个,那么我们就先选中产品描述的内容,

images/index1_32.jpg[\S\s]*?\[   (编号一)

我的正则表达式不好,只能用位置来限制内容了,我们取出内容后, 再用这个下面这个正则表达式来src="uploadfile/[\S\s]+?.jpg" (编号二)匹配出结果

然后我们选择选添加编号一,然后再添加编号二这个正则表达式

然后勾选住从前一个结果中匹配,然后点击开始处理,这个按钮,,运行完成后,就会保存到这个目录应用程序目录下按日期时间创建一个文本文件,程序运行完成后,就会自动打开这个目录,

我们匹配出的内容大体上就是这些了

http://www.lqpcjx.com/uploadfile/2012917104011924.jpg

http://www.lqpcjx.com/uploadfile/201292711514802.jpg

http://www.lqpcjx.com/uploadfile/201210129266632.jpg

 

这个页面是用来下载的一个页面

左边是状态栏显示下载了哪些项目.

右边是下载哪些内容,

将上面匹配出的地址写入到文件名及地址中就可以下载了

 

这两个文本框的内容就是根据ID编号下载文件及重命名文件,

举个例子比如说

产品编号是

http://www.lqpcjx.com/main.asp?pid=70&id=5

我们可以写一个正则表达式来,匹配出产品名称,及图片地址,

http://www.lqpcjx.com/uploadfile/2012917104011924.jpg

 这篇文章适用于对正则表达式有一定了解的,这样的人除了我们们程序员还有什么人呢?把源代码放在下面,有需要的人拿去改吧,解决方案是myregex.sln,vs2008的

/Files/sunbingzibo/aspnet.zip