这可能是一个有点太直接的问题。 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()
但我又在同一页上结束了。我是否也发布了值=“继续作为免费用户”? 如何发布这两个数据。
工作代码会有所帮助。 我努力但却无济于事。
好的......之后很少有程序员提出建议
我尝试使用下面的代码
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的东西。但是我想用一些简单的东西......任何线索??
答案 0 :(得分:1)
urllib2.urlopen(url,data=data)
答案 1 :(得分:1)
您需要将编码的values
参数提供给urlopen
命令:
response = urllib2.urlopen(url, data)
否则您将创建另一个GET请求而不是POST。