Найти - Пользователи
Полная версия: Html5lib выборка тегов <a href="">
Начало » Python для новичков » Html5lib выборка тегов <a href="">
1 2
sypper-pit
>>> 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']]
py.user.next
Egor2010
А если это делается с помощью re то зачем html5lib?
Страницы лучше обрабатывать через lxml.html
>>> 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']
>>>
Egor2010
Это не то здесь записываются все ссылки в один элимент массива, а надо чтоб одна ссылка в одном элементе массива.
sypper-pit
sypper-pit
а какие проблемы вытаскивать
>>> ar[0]
>>> ar[1]
Egor2010
>>> 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]
выдовался только один результат первая запись
sypper-pit
>>> ar
[['http://www.site2.local', 'http://www.site1.local']]
>>> ar[0][0]
'http://www.site2.local'
>>> ar[0][1]
'http://www.site1.local'
>>>
Egor2010
Спасибо!
Egor2010
sypper-pit
http://stackoverflow.com/questions/499345/regular-expression-to-extract-url-from-an-html-linkпо аналогии забираем
не подскажите как отбирать “нормальные(по которым можно перейти на другую страницу)” url?
допустим есть много url,среди них попадаются “<a href=”#mw-navigation“>navigation</a>”
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