我想要抓取页面192.168.1.1 /basic/home_dhcplist.htm
从路由器,但它在开始时要求用户名和密码。
我通过urllib2
在Python中获取页面import urllib2
response = urllib2.urlopen('http://192.168.1.1/basic/home_dhcplist.htm')
html = response.read()
str="Prasads"
value= html.find(str)
print value
if value!=-1 :
print "found"
else:
print "not found"
response.close()
答案 0 :(得分:2)
我见过的每个家庭路由器都使用基本身份验证进行身份验证。这只是您随请求一起发送的另一个标头。每次请求页面时,用户名和密码都将作为标题发送到服务器,并在每个请求中验证它们。
我建议requests
库urllib2
。
import requests
r = requests.get('http://192.168.1.1/basic/home_dhcplist.htm', auth=('username', 'password'))
if 'Prasads' in r.text():
print "found"
else:
print "not found"
答案 1 :(得分:0)
基本上你需要set the cookie来保持会话,最有可能。
通过浏览器访问该页面(Firefox)在提示时输入登录通行证。
按 Ctrl-Shift-k ,然后重新加载页面并点击任何最新的GET
请求,您将看到一个显示GET
请求的窗口细节。请注意Request Headers
并相应地设置Cookie。
最有用的键值是Authorization
。