匿名用戶
1級
2014-08-31 回答
代碼應該不難吧。既然用爬蟲爬下來了,為什么爬取數據的時候沒做處理呢。
之前用過Scrapy爬蟲框架,挺好用的,你可研究下。
代碼:
#!coding=utf-8
import?os
import?re
import?random
#?獲取當前目錄文件列表
def?getNum():
flist?=?os.listdir(os.getcwd())
#?遍歷文件
for?f?in?flist:
if?f?!=?os.path.basename(__file__):
with?open(f,?'r')?as?fn:
text?=?fn.read()
num?=?re.findall(r'評論人數:(\d+)',?text)
print?f,?num
#?文件寫入測試
def?test():
for?i?in?range(10):
with?open('%d.txt'?%?i,?'w')?as?f:
f.write('文件:%d\n每家餐館是一個文件,統計評論數,求讀取每個文件中?“評論人數:%d”?中?的60并相加,求具體程序,60是個例子'?%?(i,?random.randint(1,?200)))
print?u'文件寫入完畢'
if?__name__?==?'__main__':
#?test()
getNum()代碼基本符合要求,但健壯性有些差。你自己用的時候修改吧
測試結果:
C:\Python27\python.exe?D:/11/c.py
文件寫入完畢
0.txt?['131']
1.txt?['181']
2.txt?['56']
3.txt?['119']
4.txt?['18']
5.txt?['103']
6.txt?['88']
7.txt?['115']
8.txt?['160']
9.txt?['136']
Process?finished?with?exit?code?0
追問:
大神,文件路徑怎么改?我沒學過Python,代碼都是別人給的。。
追答:
#?你把下面這句修改了
flist?=?os.listdir(os.getcwd())
#?改成下面的
flist?=?''
print?u'路徑必須為全路徑:如下示例'
print?u'D:/test/'
flist?=?str(raw_input(u'輸入路徑,默認為當前目錄'))
if?list?==?'':
flist?=?os.listdir(os.getcwd())這樣應該可以了
追問:
謝謝大神了