Найти - Пользователи
Полная версия: re.findall, спарсить сайт
Начало » Python для новичков » re.findall, спарсить сайт
1
Evg
есть страничка - http://www.job.ru/topmanagers/
на ней список подразделов - единственный мультиселект
пытаюсь вычленить названия разделов средствами питона

вопрос как вычленить то что в теге:
<select multiple=“multiple” name=“jobSpecializations” id=“jobSpecializations” class=“w300” size=“6”>

</select>

делаю так:
        import urllib2
import re
req = urllib2.Request("http://www.job.ru/topmanagers/", None, {'User-agent': 'Mozilla/5.0'})
page = urllib2.urlopen(req).read()
#print page

sr = re.findall(r'<select multiple="multiple".*>(.*)</select>',page, re.DOTALL|re.MULTILINE)
print sr
но получаю какой-то странный результат - вместо ожидаемого фрагмента с <options>
подскажите где ошибаюсь?
bobry
re.findall(r'<select multiple="multiple"[^>]*?>(.+)</')
Evg
Ваш пример вытягивает немного больше - до 2-го селекта.
Седня открыл для себя что есть такое понятие как ‘жадное\не жадное’ оказывается все было из-за этого, пришел к такому:

sr = re.findall(r'<select multiple="multiple".*?>(.+?)</select>',page, re.DOTALL|re.MULTILINE)
bobry
да, просто проверялось для одного)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB