我正在寻找链接检查器来抓取我的网站并记录无效链接,问题是我在开始时有一个登录页面是必需的。我想要的是一个链接检查器,通过命令发布登录详细信息,然后蜘蛛网站的其余部分。
任何想法都会受到赞赏。
答案 0 :(得分:3)
我刚刚解决了类似的问题:
import urllib
import urllib2
import cookielib
login = 'user@host.com'
password = 'secret'
cookiejar = cookielib.CookieJar()
urlOpener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar))
# adjust this to match the form's field names
values = {'username': login, 'password': password}
data = urllib.urlencode(values)
request = urllib2.Request('http://target.of.POST-method', data)
url = urlOpener.open(request)
# from now on, we're authenticated and we can access the rest of the site
url = urlOpener.open('http://rest.of.user.area')
答案 1 :(得分:2)
您想查看cookielib模块:http://docs.python.org/library/cookielib.html。它实现了cookie的完整实现,可以存储登录详细信息。一旦您使用CookieJar,您只需要从用户(例如,从控制台)获取登录详细信息并提交正确的POST请求。