免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3363 | 回复: 3
打印 上一主题 下一主题

python抓取页面图片 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-10 10:14 |只看该作者 |倒序浏览
http://www.cnblogs.com/flysun/archive/2009/06/16/1504278.html找了个程序,代码如下:
1import win32com.client,time,win32inet,win32file,os
2class ImgDownloader:
3    def __init__(self,url,dir):
4        self.__dir=dir
5        self.__ie=win32com.client.Dispatch('InternetExplorer.Application')
6        self.__ie.Navigate(url)
7        self.__wait__()
8
9    def __wait__(self):
10        while self.__ie.Busy:
11            time.sleep(0.1)
12
13    def start(self):
14        self.__wait__()
15        imgs=self.__ie.Document.getElementsByTagName('img')
16      
17        for i in range(imgs.length):
18            try:
19                cachInfo=win32inet.GetUrlCacheEntryInfo(imgs.src)
20                if cachInfo:
21                    path=cachInfo['LocalFileName']
22                    pathinfo=path.split('\\')
23                    pathinfo.reverse()
24                    filename=('[%d]' % i) + pathinfo[0]
25
26                    win32file.CopyFile(path,os.path.join(self.__dir,filename),True)
27            except:
28                pass
29    def close(self):
30        self.__ie.Quit()
31
32if __name__=='__main__':
33    d=ImgDownloader('http://image.baidu.com/i?ct=201326592&cl=2&lm=-1&tn=baiduimage&pv=&word=boy&z=0','c:\\temp\\')
34    d.start()
35    d.close()
在IDLE中运行的时候:
Traceback (most recent call last):
  File "E:\catch.py", line 33, in <module>
    d=ImgDownloader('http://www.hao123.com/','E:\\temp\\')
  File "E:\catch.py", line 5, in __init__
    self.__ie=win32com.client.Dispatch('InternetExplorer.Application')
  File "C:\Python32\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
  File "C:\Python32\lib\site-packages\win32com\client\dynamic.py", line 108, in _GetGoodDispatchAndUserName
    return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "C:\Python32\lib\site-packages\win32com\client\dynamic.py", line 85, in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147024893, '系统找不到指定的路径。', None, None)
请问如何解决问题??

论坛徽章:
0
2 [报告]
发表于 2012-08-13 20:09 |只看该作者
不是说的很清楚么

(-2147024893, '系统找不到指定的路径。', None, None

仔细看traceback

论坛徽章:
0
3 [报告]
发表于 2012-09-04 19:36 |只看该作者
这个问题早解决了,其实也没什么问题,只是默认浏览器要是ie

论坛徽章:
0
4 [报告]
发表于 2012-09-07 11:39 |只看该作者
我喜欢,请大家鼓掌支持,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP