我希望有人能帮助我发布urllib帖子。我对此计划的目标是发布IP地址并获取其相对位置。我知道有很多API等等,但我的学校并不热衷于以任何方式修改任何计算机(这是针对comp sci类)。所以到目前为止,下面的代码得到了我的位置,因为我的计算机IP已经被网站感知到了(我猜在一个标题?),但我想做的只是输入一个IP并返回地点。 ipStr
只是IP字符串(在这种情况下,它是纽约时代华纳有线电视公司的IP)。我尝试设置值并提交数据,但无论我将值设置为什么,它只返回我自己的计算机位置。有什么想法吗?
ipStr = "72.229.28.185"
url = "https://www.iplocation.net/"
values = {'value': ipStr}
headers = {}
headers ['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
data = urllib.parse.urlencode(values)
data = data.encode('utf-8')
req = urllib.request.Request(url,data=data, headers = headers)
resp = urllib.request.urlopen(req)
page = str(resp.read())
npattern = "Google Map for"
nfound = re.search(npattern,page)
ns = nfound.start()
ne = nfound.end()
location = ""
while page[ne:ne +1] != "(":
location += page[ne:ne+1]
ne += 1
答案 0 :(得分:0)
您只需将参数名称从value
更改为query
,例如:
values = {'query': ipStr}
如果您查看页面上的输入字段名称(https://www.iplocation.net/),您会看到该字段的名称为query
。