Форум сайта python.su
6
>>> ar = [] >>> ar.append(r.findall(url)) >>> ar [['http://www.www.site.local']] >>> ar.append(r.findall(url)) >>> ar [['http://www.www.site.local'], ['http://www.www.site.local']]
Офлайн
857
Egor2010Страницы лучше обрабатывать через lxml.html
А если это делается с помощью re то зачем html5lib?
>>> import lxml.html >>> >>> doc = lxml.html.fromstring('<a href="http://www.domain.com">text</a>') >>> lst = doc.xpath(r'//a/@href') >>> lst ['http://www.domain.com'] >>>
Офлайн
0
Это не то здесь записываются все ссылки в один элимент массива, а надо чтоб одна ссылка в одном элементе массива.
sypper-pit
Офлайн
6
а какие проблемы вытаскивать
>>> ar[0] >>> ar[1]
Офлайн
0
>>> import re
>>> url='<a href="http://www.site2.local" target="_blank">http://www.site2.local</a><a href="http://www.site1.local" target="_blank">http://www.site1.local</a>'
>>> r = re.compile('(?<=href=").*?(?=")')
>>> ar=[]
>>> ar.append(r.findall(url))
>>> ar
[['http://www.site2.local', 'http://www.site1.local']]
>>> ar[0]
['http://www.site2.local', 'http://www.site1.local']
>>> ar[1]
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
ar[1]
IndexError: list index out of range
ar[0]
Отредактировано Egor2010 (Окт. 25, 2014 09:36:11)
Офлайн
6
>>> ar [['http://www.site2.local', 'http://www.site1.local']] >>> ar[0][0] 'http://www.site2.local' >>> ar[0][1] 'http://www.site1.local' >>>
Офлайн
0
Спасибо!
Офлайн
0
sypper-pitне подскажите как отбирать “нормальные(по которым можно перейти на другую страницу)” url?
http://stackoverflow.com/questions/499345/regular-expression-to-extract-url-from-an-html-linkпо аналогии забираем
Офлайн