2014-09-17 2 views
1

Я пытаюсь получить информацию от приложения Apple Store, но не может полностью имитировать реальный браузер:Как обмануть яблочный магазин (парсинг)

import requests 
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36'} 
# got this user-agent from my own browser where this page opens perfectly though I don't have iTunes installed 
store=requests.get('https://itunes.apple.com/en/app/real-racing-3/id556164350', headers=headers) 
print store.text 

и я получаю We are unable to find iTunes on your computer. ошибку, а не info Мне нужно. Надеюсь, что есть лучший способ сделать это, не используя Selenium, например.

+0

Просто догадка: Может быть печенье проблема? Также, какой браузер вы использовали для получения этого пользовательского агента? Mine - «Mozilla/5.0 (Windows NT 6.1, WOW64; rv: 32.0) Gecko/20100101 Firefox/32.0» (Firefox, Windows) - может быть, здесь что-то не так? – mozzbozz

+1

Хорошее название кстати :) –

+0

Как выглядит страница, когда вы открываете ее в браузере? На mac он пытается запустить iTunes. В окнах он перенаправляет меня на страницу «Загрузить iTunes». – alecxe

ответ

1

Ладно, ребята, я в конце концов пришел с этим:

import gtk 
import webkit 

web = webkit.WebView() 
web.open('http://google.com/') 


def load_finished(webview, frame): 
    data = web.get_main_frame().get_data_source().get_data() 
    print data[:20] 
    gtk.main_quit() 

web.connect("load-finished", load_finished) 

gtk.main() 
Смежные вопросы