- 论坛徽章:
- 0
|
本帖最后由 奔跑的糖葫芦 于 2016-03-05 22:15 编辑
想做一个输入网址就能下载这个页面里的所有图片的东西。自己水平不高,也是网上搜索了很久。不知道这样可行不可行。
我是想做豆瓣和百度的图片下载。好像这俩网站的jpg格式不一样,所以准备根据两个网站图片名称的不同弄两个函数来匹配。然后在调用下载。目前只是先把jpg格式的链接取出来。
为了方便,就想利用if判断要选择哪一个网站,接着调用这个网站的正则匹配。
现在先测试的是豆瓣的,还没有写完。测试运行的时候发现提示很不对。我觉得可能是我逻辑上没有想清楚。所以导致的这种情况。但自己也不明白是哪里出问题了。
所以贴上代码,虚心请教一下。请各位大神指点!
----------------------------------------------------
这里是源代码- import re
- import urllib
- #调用模块
- def getHtml(url):
- page = urllib.urlopen(url)
- html = page.read()
- return html
- #创建函数getHtml,作用是获取到页面的字符数据
- def getImg(html):
- reg = r'src="(.+?\.jpg)"'
- imgre = re.compile(reg)
- imglist = re.findall(imgre,html)
- return imglist
- #创建函数getImg,作用是通过正则表达式来匹配结尾是.jpg的字符串。这个函数匹配的是豆瓣网站的JPG
- site = raw_input("想要下载哪个网站的图片?\n1.豆瓣\n2.百度\n请输入序号:")
- print site
- if site == 1:
- wangzhi = raw_input("请输入你想获取的信息的URL(需要输入http或者https):")
- #指定要获取的网址
- html = getHtml(wangzhi)
- print getImg(html)
- #打印出正则表达式匹配过后的字符
- elif site == 2:
- print "百度的正则表达式还没有提取出来"
- else:
- print "hahaha....没有了。"
复制代码 -----------------------------------------------
这里是运行之后的提示:
>>>
想要下载哪个网站的图片?
1.豆瓣
2.百度
请输入序号:1
1
hahaha....没有了。
>>>
以上就是问题所在。请帮助一下。谢谢~ |
|