作者darklimit ()
看板Python
标题[问题] urllib2可以开启多档案吗?
时间Thu Apr 11 19:10:15 2013
现在资料夹里有HTML的档案
data = urllib2.urlopen("file:///D:/路径/xxx.html")
这样单档案读取是没有问题的!!!
但如果现在要读取整个资料夹下的HTML档案
询问写法应该要怎麽写
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.135.114.123
1F:→ grapherd:import glob; html_list = glob.glob("*.htm*") 04/11 19:36
2F:→ grapherd:html_list = map(lambda x: open(x), html_list) 04/11 19:37
3F:→ grapherd:读取local的html应该不用用到urllib2, 用open就够了 04/11 19:37
4F:→ darklimit:因为要使用html_parser进行分析,所以应用urllib2 04/11 21:17
5F:→ darklimit:如果这样用data = urllib2.urlopen 04/11 21:18
6F:→ darklimit:("file:///D:/路径/*.html") 这样会错误 04/11 21:19
7F:→ qwertmn:html_parser和urllib 应该没有关系吧= ="" 04/11 22:06
8F:→ grapherd:改用urllib.urlopen就可以了,不过效果跟open是一样的 04/11 22:26
9F:→ grapherd:不知道你是用什麽html parser? 04/11 22:28
10F:→ darklimit:用*.html读取会错误 04/11 22:58
11F:→ darklimit:先定义function,然後 04/11 22:59
12F:→ darklimit:f = formatter.NullFormatter() 04/11 23:00
13F:→ darklimit:html_parser = SearchLinks(f) 04/11 23:01
14F:→ darklimit:data = urllib2.urlopen("file:///d:/路径/xxx.html") 04/11 23:03
15F:→ darklimit:html_parser.feed(data.read()) 04/11 23:03
16F:→ darklimit:html_parser.close() 04/11 23:03
17F:→ darklimit:links = html_parser.get_links() 04/11 23:04
18F:→ grapherd:这样当然错误了,资料夹内没有 "*.html"这个档案啊 04/11 23:04
19F:→ darklimit:因为档案不只一个,所以在应用for 回圈处理 04/11 23:04
20F:→ darklimit:撷取到想要的资料 04/11 23:05
21F:→ grapherd:用最上面的方法,然後把open(x)改成open(x).read() 04/11 23:05
22F:→ darklimit:那要读取所有档案,应该用什麽方式写? 04/11 23:05
23F:→ grapherd:然後 html_list 内的资料就是每一个html file的字串了 04/11 23:05
24F:→ darklimit:我试试看,谢谢 04/11 23:06
25F:→ qwertmn:个人偏向1f 推荐的glob 来找档案.. 04/11 23:14