我写了一个简单的python程序,用HTMLParser解析HTML。这是我的密码
import re
import os.path
import getopt
import getpass
import atom
import getopt
import sys
import string
import cookielib
import ClientCookie
import urllib
import urllib2
from HTMLParser import HTMLParser
from htmlentitydefs import name2codepoint
url = 'http://distribucija.altpro.hr/cjenik_include.php'
all_data = []
def ReParse(pin):
global values
values = {'kaj' : 'sifra',
'rijec' : pin,
'prikaz' : '20' }
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
global the_page
the_page = response.read()
class MyHTMLParser(HTMLParser):
def handle_data(self, data):
all_data.append(data)
parser = MyHTMLParser()
ReParse('3884429')
parser.feed(the_page)
print all_data[74]
ReParse('1241236')
parser.feed(the_page)
print all_data[74]
现在,第一个解析器.feed(.... 工作,所有的数据[74]都是正确的,但是第二个feed给出的结果与第一个完全相同,但是它不应该。有人能帮我吗?在
你每次都在分配
values
。你想移动这个:到
^{pr2}$ReParse
的外面。然后,在该函数中,您需要将以下内容:你似乎也错过了
all_data
。它不存在于MyHTMLParser
范围内。在我确实觉得,提醒你“全球范围”通常不是你的最佳选择,但这是另一回事。在
相关问题 更多 >
编程相关推荐