Форум сайта python.su
Доброго времени суток!
Господа, прошу вашей помощи.
Возникла необходимость спарсить словарь с сайта (прошу, дочитайте до конца.)
www.sanskrit-lexicon.uni-koeln.de
В основном задачи такого характера я пытаюсь решать через php + curl но данную задачу я не смог реализовать через него.
я попросил помощи на stackoverflow но …
Я попробовал написать на питоне
import urllib import urllib2 headers = {'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)'} #POSTDATA=dictionary=cap&st=ja&prst=exact&en=&pren=exact&maxhits=50 values = {'dictionary' : 'cap' , 'st' : 'ja' , 'prst' : 'exact', 'en' : '', 'pren' : 'exact', 'maxhits' : '50'} dataer = urllib.urlencode(values) req = urllib2.Request('Referer=http://www.sanskrit-lexicon.uni-koeln.de/scans/MWScan/tamil/index.html', dataer, headers) response = urllib2.urlopen(req) print response.read()
Офлайн
такого урла не бывает: 'Referer=http://www.sanskrit-lexicon.uni-koeln.de/scans/MWScan/tamil/index.html', уберите оттуда ‘Referer=’. И в следующий раз пишите, что именно за ошибка, если что
Офлайн
Спасибо, не приметил сразу.
А не подскажите как нажать на кнопку, что-то не могу понять.
Потому что если я запускаю, а получаю код начальной страницы. а не конечной с результатом.
Отредактировано Kreol2013 (Ноя. 24, 2013 23:23:51)
Офлайн
скачайте страницу и посмотрите чему равен “submit”, его допишите в values
Офлайн
Простите за наглость, Вы имеете ввиду написать ‘submit’ : ‘Start search’?
перепробовал разные варианты, пока безрезультатно, все так же на главной странице
import requests values = {'dictionary' : 'cap' , 'st' : 'ja' , 'prst' : 'exact', 'en' : '', 'pren' : 'exact', 'maxhits' : '50', 'submit' : 'Start search'} response = requests.post('http://www.sanskrit-lexicon.uni-koeln.de/scans/MWScan/tamil/index.html', data=values) print response.text
Отредактировано Kreol2013 (Ноя. 25, 2013 00:02:11)
Офлайн
ну так вы не туда шлете, вот на этой странице найдите строки method=POST action=“/бла/бла”, вот этот action и надо приклеить к корневому урл, т.е. к 'http://www.sanskrit-lexicon.uni-koeln.de' в вашем случае
Офлайн
мда… буду внимательней пользоватся снифером. Спасибо.
Офлайн