サイトをクロールするスクリプトを作成しようとしています。
しかし、「if ステートメント」の 15 行目に固執しました。比較対象にはなりません。
エンコーディングの問題か、他の文字が含まれていると思います。私は推測する。
ドキュメントのエンコーディングは ANSI で、Web サイトは ISO-8859-15 です。
HParser.py:
from HTMLParser import HTMLParser
from htmlentitydefs import name2codepoint
import urllib2
url = 'http://DOMAIN.TLD'
req = urllib2.Request(url)
response = urllib2.urlopen(req)
the_page = response.read()
class MyHTMLParser(HTMLParser):
def handle_starttag(self, tag, attrs):
tag = unicode(tag)
tag = tag.strip()
print "'",tag,"'"
if tag == 'a':
for attr in attrs:
if 'src' == attr[0]:
print 'Link: ', attr[1]
def handle_endtag(self, tag):
pass
def handle_data(self, data):
pass
def handle_comment(self, data):
pass
def handle_entityref(self, name):
pass
def handle_charref(self, name):
pass
def handle_decl(self, data):
pass
parser = MyHTMLParser()
parser.feed(the_page)