这是上周的任务了,今天总结下,任务描述如下,在数据表中存在查询词和城市id,需要利用查询词和城市名拼接成正确的url向某网站发送查询请求并对查询结果进行简单的解析,这里涉及城市名(中文)到城市拼音和缩写的转换问题,该转换本身并不复杂,但涉及中文处理,确实费了一番周折,对Python的编码问题还需要再进行深入的研究。下面主要说一下请求查询的过程,主要代码如下:
query = urllib.quote(line_list[0])
url = "http://"+short+".m***t***.com/s/" +query+"/all/all/hot"
conn = httplib.HTTPConnection("www.m***t***.com")
conn.request("GET",url)
r1 = conn.getresponse()
s1=r1.read()
hp1 = MyHTMLParser1()
hp1.feed(s1)
首先利用urllib.quote()方法对查询词进行编码,然后根据url的格式拼接成正确的url,再利用httplib.HTTPConnection方法跟服务器建立连接,之后向服务器发送get请求,最后利用MyHTMLParser()类对返回结果进行解析和处理,这里MyHTMLParser1()类继承HTMLParser,继承后需要可以根据需要重写其handle_starttag方法和handle_data方法:
class MyHTMLParser1(HTMLParser):
10 def __ini