[二星]程序开发,不限语言,抓取网页中的图片

除了美化之外,还可以来尝试挑战一下任务
头像
pocoyo
论坛版主
帖子: 25878
注册时间: 2008-03-25 15:49
来自: 谁知道?
送出感谢: 5 次
接收感谢: 9 次
联系:

Re: [二星]程序开发,不限语言,抓取网页中的图片

#16

帖子 pocoyo » 2010-03-14 21:33

oneleaf 写了:ok,给个简单的py

代码: 全选

import urllib,re
u = 'http://forum.ubuntu.org.cn/'
html = urllib.urlopen(u).read()
li=re.findall('img src="*.*?"', html, re.S)
for item in li:
    print item
    item = item.replace('img src="','').replace('"','')
    urllib.urlretrieve(('' if item.find('http://')==0 else u)+'/'+item,item.split('/')[-1])
:em11 谢老大
xep007
帖子: 870
注册时间: 2006-01-03 20:44
送出感谢: 0
接收感谢: 6 次

Re: [二星]程序开发,不限语言,抓取网页中的图片

#17

帖子 xep007 » 2010-03-15 10:33

pocoyo 写了:
oneleaf 写了:ok,给个简单的py

代码: 全选

import urllib,re
u = 'http://forum.ubuntu.org.cn/'
html = urllib.urlopen(u).read()
li=re.findall('img src="*.*?"', html, re.S)
for item in li:
    print item
    item = item.replace('img src="','').replace('"','')
    urllib.urlretrieve(('' if item.find('http://')==0 else u)+'/'+item,item.split('/')[-1])
:em11 谢老大
谢谢老大.但是网址如果是像以下样式的则会出错.
http://image.baidu.com/i?ct=201326592&c ... %C4%B8&s=0
onelynx
帖子: 817
注册时间: 2008-11-13 16:03
送出感谢: 0
接收感谢: 0

Re: [二星]程序开发,不限语言,抓取网页中的图片

#18

帖子 onelynx » 2010-04-07 13:42

pocoyo 写了:
tenzu 写了:LS的头像。。。
我靠 受不了了。。。。
:em03 :em20
hacker85
帖子: 557
注册时间: 2010-02-25 11:19
送出感谢: 0
接收感谢: 0

Re: [二星]程序开发,不限语言,抓取网页中的图片

#19

帖子 hacker85 » 2010-04-07 20:16

写了这些行代码后如何在ubuntu上用呢? 步骤如何? 给个框架
头像
0xff
帖子: 415
注册时间: 2008-08-12 14:24
送出感谢: 2 次
接收感谢: 0
联系:

Re: [二星]程序开发,不限语言,抓取网页中的图片

#20

帖子 0xff » 2010-05-10 8:47

我喜欢10楼的头像
头像
wzxll
帖子: 20
注册时间: 2010-06-19 20:48
送出感谢: 0
接收感谢: 0

Re: [二星]程序开发,不限语言,抓取网页中的图片

#21

帖子 wzxll » 2010-07-03 20:10

oneleaf
经典 ,学习了。
arserangel
帖子: 97
注册时间: 2007-02-09 8:33
来自: 深圳福田
送出感谢: 7 次
接收感谢: 1 次

Re: [二星]程序开发,不限语言,抓取网页中的图片

#22

帖子 arserangel » 2010-07-10 18:27

用正则表达式,应该很短吧,感觉跟以上比,php最精练了。
tusooa
帖子: 6546
注册时间: 2008-10-31 22:12
系统: 践兔
送出感谢: 6 次
接收感谢: 10 次
联系:

Re: [二星]程序开发,不限语言,抓取网页中的图片

#23

帖子 tusooa » 2010-07-12 15:48

oneleaf 写了:ok,给个简单的py

代码: 全选

import urllib,re
u = 'http://forum.ubuntu.org.cn/'
html = urllib.urlopen(u).read()
li=re.findall('img src="*.*?"', html, re.S)
for item in li:
    print item
    item = item.replace('img src="','').replace('"','')
    urllib.urlretrieve(('' if item.find('http://')==0 else u)+'/'+item,item.split('/')[-1])
叶大,不是所有的网页的图片都是<img src=xxx>的 :em06 :em06 :em06 ,Xhtml标准要求有alt,吾喜欢<img alt="xxx" src="xxx" />这个脚本就够不到了。
匹配连续n多个'"',确实不合理。

吾的长,是为了速度(cURL很快)和质量。(前面的脚本统统不能搞到<img alt="xxx" src="xxx" />这样的)

代码: 全选

] ls -ld //
头像
trigger
帖子: 1587
注册时间: 2006-10-25 18:08
送出感谢: 1 次
接收感谢: 0

Re: [二星]程序开发,不限语言,抓取网页中的图片

#24

帖子 trigger » 2010-07-17 16:02

代码: 全选

#!/bin/bash
(($#!=1)) && echo "need a url " && exit
curl $1 | grep -o "img src=\"[^\"]*\"" | cut -f 2 -d'"' | wget -i -
:em03
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
高飞想念葫芦娃
帖子: 2
注册时间: 2010-07-19 14:55
送出感谢: 0
接收感谢: 0

Re: [二星]程序开发,不限语言,抓取网页中的图片

#25

帖子 高飞想念葫芦娃 » 2010-07-19 14:56

:em03
KIS
帖子: 30
注册时间: 2009-07-13 15:12
送出感谢: 0
接收感谢: 0

Re: [二星]程序开发,不限语言,抓取网页中的图片

#26

帖子 KIS » 2010-07-26 15:01

HOHO~~ 学习 !~
头像
link_01
帖子: 1024
注册时间: 2008-11-05 13:24
送出感谢: 0
接收感谢: 4 次

Re: [二星]程序开发,不限语言,抓取网页中的图片

#27

帖子 link_01 » 2010-07-31 19:22

刚学shell,来个

代码: 全选

#!/bin/sh
# -- picture.sh --

BASE_URL=$1
FILE="file.html"
gethtml() {
   wget -O $FILE $BASE_URL
}

if [ -z $1 ]; then
    echo "Please give the url."
else
    gethtml
fi

pic_url=`grep -o -P '(\/\w+)+\.(jpg|gif|png)' $FILE | \
    sed 's/^\///'`
for i in $pic_url; do
    last_url=${BASE_URL}/$i
    echo $last_url
    #wget $last_url
done
笔记
-------------------------------------
http://blog.163.com/wqt_1101
头像
xioepp
帖子: 2
注册时间: 2008-12-13 19:45
送出感谢: 0
接收感谢: 0

Re: [二星]程序开发,不限语言,抓取网页中的图片

#28

帖子 xioepp » 2010-08-06 10:44

牛人太多了! :em03
wizardyhnr
帖子: 28
注册时间: 2007-05-06 10:56
送出感谢: 1 次
接收感谢: 0

Re: [二星]程序开发,不限语言,抓取网页中的图片

#29

帖子 wizardyhnr » 2010-12-16 19:22

tusooa 写了:
oneleaf 写了:ok,给个简单的py

代码: 全选

import urllib,re
u = 'http://forum.ubuntu.org.cn/'
html = urllib.urlopen(u).read()
li=re.findall('img src="*.*?"', html, re.S)
for item in li:
    print item
    item = item.replace('img src="','').replace('"','')
    urllib.urlretrieve(('' if item.find('http://')==0 else u)+'/'+item,item.split('/')[-1])
叶大,不是所有的网页的图片都是<img src=xxx>的 :em06 :em06 :em06 ,Xhtml标准要求有alt,吾喜欢<img alt="xxx" src="xxx" />这个脚本就够不到了。
匹配连续n多个'"',确实不合理。

吾的长,是为了速度(cURL很快)和质量。(前面的脚本统统不能搞到<img alt="xxx" src="xxx" />这样的)
是re匹配的问题,你修改下匹配模板就可以了。
li=re.findall('img [^>]*?src="*.*?"', html, re.S)
flykite1988
帖子: 10
注册时间: 2010-12-30 14:17
送出感谢: 0
接收感谢: 0

Re: [二星]程序开发,不限语言,抓取网页中的图片

#30

帖子 flykite1988 » 2011-01-07 17:04

python里做过
回复

回到 “非常任务”