2013-02-10 4 views
1

Я хотел бы собрать данные с этой страницы хххДанные из обычая Google Map

Мой уровень опыта с питоном и BeautifulSoup является новичком. Однако я не думаю, что он должен быть очень продвинутым для того, что мне нужно сделать, за исключением проблемы, которую я описываю ниже.

Страница, которую мне нужно для сбора данных из списков активных свойств для продажи, перечисленных на MLS для Большого Торонтского района. В правой части карты есть некоторые флажки, которые вы должны выбрать, чтобы получить свои данные, и это моя проблема. Если я использую браузер, используется местный файл cookie для запоминания предыдущих выборов и отображаются данные

Я хотел бы знать любой из них: 1) как я могу передать все параметры (выбор) в моем первоначальном запросе от Python 2) как использовать куки-файл Chrome с Python, чтобы я мог получить возврат страницы, который фактически содержит данные

Пример кода был бы отличным, но отправка ссылок на ссылки, которые я должен был прочитать, также будет работать.

Большое спасибо PF

+0

посмотреть на 'requests' библиотеки для извлечения страниц. он имеет гораздо лучшую поддержку файлов cookie, чем 'urllib2'. http://docs.python-requests.org/en/latest/ –

ответ

1

Если вы настаиваете на использовании urllib2 над Requests, я предлагаю смотреть в cookielib.

Вот пример:

import urllib2 
import cookielib 
from BeautifulSoup import BeautifulSoup 

cookiejar = cookielib.CookieJar() 
opener = urllib2.build_opener(
    urllib2.HTTPRedirectHandler(), 
    urllib2.HTTPHandler(debuglevel=0), 
    urllib2.HTTPSHandler(debuglevel=0), 
    urllib2.HTTPCookieProcessor(cookiejar), 
) 

Таким образом, вы создаете cookiejar держать печенье, строить нож и установить процессор печенья и передачи cookiejar. Это должно позаботиться о вашей проблеме с печеньем. На данный момент, вместо того, чтобы использовать urllib2.urlopen(url), просто использовать свой собственный нож: opener.open(url)

url = 'http://www.somesite.com/' 
fp = opener.open(url) 
html_object = BeautifulSoup(fp) 
Смежные вопросы