BeautifulSoupを使用してPythonクローラーを作成しようとしていますが、文字列以外の文字バッファータイプをファイルに書き込もうとしているというエラーが発生します。プログラムの出力を調べると、私のリストには何もない項目が多数含まれていることがわかりました。なしを持つことに加えて、私はまた、リンクではなく、私のリストの中にイメージリンクである多くのイメージやものを持っています。 URLを自分のリストに追加するにはどうしたらよいですか?あなたはfind_allとセットを使用し、あなたのエラーが発生しなしを書かないしようとしているので、必ずしもすべてのアンカーのhrefを持っているので、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ではないすべてをフィルタリングしようとしています。 –