2012-01-19 2 views
1

fid라는 폴더를 통해 크롤링하는 스파이더를 작성하고 모든 하위 폴더의 이름을 링크로 추출합니다. 이제 문제는이 하위 폴더 각각에 html 페이지가 있고이 html 파일의 이름을 모두 추출하여 현재 "start_urls"에 추가하여 모든 HTML에서 필요한 정보를 긁어 낼 수있게하려는 것입니다. 페이지. 나는 시도했다 :python으로 디렉토리를 변경하고 scream 스파이더를 통해 .html 파일 이름을 추출하십시오.

os.listdir() 
glob.glob() 

그러나 이것들 중 어느 것도 작동하지 않았다. 이걸 도와주세요.

+0

당신이 출발점으로 몇 가지 코드를 제공 할 수있다 : 여기


는 해당 이해할 지능형리스트인가? – charlax

+2

나에게'os.walk'을 확인하고 싶은 것 같습니다. – wim

답변

0
import fnmatch 
import os 

start_urls = [] 
for root, dirnames, filenames in os.walk('/start/dir/'): 
    for filename in fnmatch.filter(filenames, '*.html'): 
     start_urls.append(os.path.join(root, filename)) 

*.htm 확장을 확인하기 위해 수정할 수도 있습니다.

[os.path.join(r, f) for r,ds,fs in os.walk('/start/dir/') for f in fnmatch.filter(fs, '*.html')] 
+1

새 질문을 만들어야합니다. – wim

관련 문제