免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2942 | 回复: 3

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

论坛徽章:
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
发表于 2012-08-13 20:09 |显示全部楼层
不是说的很清楚么

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

仔细看traceback

论坛徽章:
0
发表于 2012-09-04 19:36 |显示全部楼层
这个问题早解决了,其实也没什么问题,只是默认浏览器要是ie

论坛徽章:
0
发表于 2012-09-07 11:39 |显示全部楼层
我喜欢,请大家鼓掌支持,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会 限时9.5折

【架构革新 高效可控】2020年8月17日~19日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP