В общем код:
from grab import Grab from grab.tools.logs import default_logging from grab.tools import rex import re default_logging('/home/user/webgrab/my_log.txt') g = Grab(log_file='/home/user/webgrab/grab.txt') g.go('http://www.lostfilm.tv/rssdd.xml') f=open('/home/user/webgrab/grab.txt').read() links = rex.rex_text_list(f, '<link>(http:.+?720p.+?\.torrent)<\/link>') # Тут все гуд, на выходе получаем ссылки типа: # http://lostfilm.tv/download.php?id=4668&Castle.S04E20.720p.rus.LostFilm.TV.torrent # и это не торрент файл, а html страница. g2 = Grab(log_dir='/home/user/webgrab/', log_file='/home/user/webgrab/grab2.txt', nobody=False, hammer_mode=True, debug_post=True) g2.setup(reuse_cookies=True, userpwd='my_user_name:my_password', charset='windows-1251') my_url=links[0] g2.go('my_url)
Если скопипастить "http://lostfilm.tv/download.php?id=4668&Castle.S04E20.720p.rus.LostFilm.TV.torrent" и вствить в веб броузер, то в нем страница отображается.
Ссылки типа 'http://lostfilm.tv/download.php?id=4668&Castle.S04E20.720p.rus.LostFilm.TV.html' и
'http://lostfilm.tv/download.php?id=4668' ведут на одну и туже страницу, но не качаются моим скриптом. Пробовал закачивать wget-ом, тот же результат. Эта страница также должна закачиваться без аунтификации.
Какие будут предложения, мысли. Если можно, то на конкретном примере. Спасибо.
На всякий случай привожу логфайл:
Request:
GET /download.php?id=4668 HTTP/1.1
Authorization: Basic bmF1bWFнQHfrci5uZXQ6cаd3dkxmSHlDTg==
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Host: lostfilm.tv
Accept-Encoding: gzip
Referer: http://lostfilm.tv
Accept-Charset: utf-8,windows-1251;q=0.7,*;q=0.5
Accept-Language: en-us,en;q=0.8
Keep-Alive: 300
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.2
Response:
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 11 Apr 2012 11:32:48 GMT
Content-Type: text/html; charset=windows-1251
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=10
Vary: Accept-Encoding
X-Powered-By: PHP/5.3.10
Refresh: 0; url=/details.php?id=4668
Content-Encoding: gzip