【发布时间】:2012-09-21 14:16:23
【问题描述】:
这可能是一个有点过于直接的问题。 Python新手
我正在尝试从视频网站 (Putlocker) 解析/抓取视频链接。
即http://www.putlocker.com/file/A189D40E3E612C50。
页面最初出现以下代码或类似代码
<form method="post">
<input type="hidden" value="3d0865fbb040e670" name="hash">
<input name="confirm" type="submit" value="Continue as Free User"
disabled="disabled"
id="submitButton" class="confirm_button" style="width:190px;">
</form>
value="3d0865fbb040e670" 每次都改变...
Import urllib
import urllib2
url = 'http://www.putlocker.com/file/A189D40E3E612C50.'
response = urllib2.urlopen(url)
page = response.read()
从这里我找到 Value="?"哈希
然后
url = 'http://www.putlocker.com/file/A189D40E3E612C50.'
values = {'hash' : 3d0865fbb040e670}
data = urllib.urlencode(values)
response = urllib2.urlopen(url)
page = response.read()
但我最终再次出现在同一页面上。我也发布 value="Continue as Free User" 吗? 如何继续发布这两个数据。
工作代码会很有帮助。 我正在努力,但还没有成功。
好的..根据少数程序员的建议
我尝试了如下代码
url = 'http://www.putlocker.com/file/A189D40E3E612C50'
response = urllib2.urlopen(url)
html = response.read()
r = re.search('value="([0-9a-f]+?)" name="hash"', html)
session_hash = r.group(1)
print session_hash
form_values = {}
form_values['hash'] = session_hash
form_values['confirm'] = 'Continue as Free User'
data = urllib.urlencode(form_values)
response = urllib2.urlopen(url, data=data)
html = response.read()
print html
所以我再次返回相同的页面......我在这里做错了什么!我见过一种叫做 pycurl 的东西。但我想用更简单的东西。有什么线索吗??
【问题讨论】:
-
澄清一下,您成功获取了隐藏哈希的值,而您的问题是如何发送 HTTP POST 请求而不是 HTTP GET,对吗?
-
是的,只是为了发帖……去看看别人的建议