BeautifulSoup을 사용하여 Python 크롤러를 만들려고하지만 파일에 문자열이 아닌 다른 문자 버퍼 유형을 쓰려고하는 중 오류가 발생합니다. 프로그램 출력을 검토 한 결과, 내 목록에 없음이라는 항목이 많이 있음을 발견했습니다. 없음을 갖는 것에 더하여, 나는 또한 이미지가 많고 링크가 아니지만 내 목록의 이미지 링크입니다. 내 목록에만 URL을 어떻게 추가 할 수 있습니까?Python - BeautifulSoup을 사용하여 URL 목록을 만들 때 문제가 발생했습니다.
import urllib
from BeautifulSoup import *
try:
with open('url_file', 'r') as f:
url_list = [line.rstrip('\n') for line in f]
f.close()
with open('old_file', 'r') as x:
old_list = [line.rstrip('\n') for line in f]
f.close()
except:
url_list = list()
old_list = list()
#for Testing
url_list.append("http://www.dinamalar.com/")
count = 0
for item in url_list:
try:
count = count + 1
if count > 5:
break
html = urllib.urlopen(item).read()
soup = BeautifulSoup(html)
tags = soup('a')
for tag in tags:
if tag in old_list:
continue
else:
url_list.append(tag.get('href', None))
old_list.append(item)
#for testing
print url_list
except:
continue
with open('url_file', 'w') as f:
for s in url_list:
f.write(s)
f.write('\n')
with open('old_file', 'w') as f:
for s in old_list:
f.write(s)
문자열이 아닌 모든 것을 필터링하려고합니까? –
아니요, 실제 URL이 아닌 모든 것을 필터링하려고합니다. –