近日做数学建模需要有几十个城市间的距离作为数据, 然而手动上网搜寻实在太麻烦(粗略估算需要搜上千次), 于是想到用Python来解决这个问题吧!
先放代码:
#!/usr/bin/python3.4
import requests
import sys
from html.parser import HTMLParser
class myParser(HTMLParser):
a_text=False
def handle_starttag(self,tag,attrs):
if tag=="h3":
self.a_text=True
def handle_endtag(self,tag):
if tag=="h3":
self.a_text=False
def handle_data(self,data):
if self.a_text is True:
print(data)
data={
'shikechaxun':'时刻查询',
'txtChufa':sys.argv[1],
'txtDaoda':sys.argv[2],
}
s=requests.session()
raw=s.get('http://juli.liecheshike.com/juli/',data=data)
result=raw.text
query=myParser()
query.feed(result)
query.close()
用requests来向目标网站发送get请求, 然后用HTMLParser来处理请求后的HTML网页. 很简单的一个程序.
上面的程序作的输入是读命令行参数, 比如把上面的程序保存成distance.py. 那么执行./distance.py 北京 上海
就可以得出两地间距离了. 当然实际用的时候可以另外导入文件作为输入.