Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 23, 2014 15:02:10

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Html5lib выборка тегов <a href="">

>>> 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']]

Офлайн

#2 Окт. 24, 2014 09:53:57

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Html5lib выборка тегов <a href="">

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']
>>>



Офлайн

#3 Окт. 24, 2014 11:42:49

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Html5lib выборка тегов <a href="">

Это не то здесь записываются все ссылки в один элимент массива, а надо чтоб одна ссылка в одном элементе массива.

sypper-pit

Офлайн

#4 Окт. 24, 2014 20:26:37

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Html5lib выборка тегов <a href="">

а какие проблемы вытаскивать

>>> ar[0]
>>> ar[1]

Офлайн

#5 Окт. 25, 2014 03:35:08

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Html5lib выборка тегов <a href="">

>>> 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 Окт. 25, 2014 19:47:49

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

Html5lib выборка тегов <a href="">

>>> ar
[['http://www.site2.local', 'http://www.site1.local']]
>>> ar[0][0]
'http://www.site2.local'
>>> ar[0][1]
'http://www.site1.local'
>>>

Офлайн

#7 Окт. 26, 2014 05:42:35

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Html5lib выборка тегов <a href="">

Спасибо!

Офлайн

#8 Ноя. 28, 2014 12:16:58

Egor2010
Зарегистрирован: 2014-10-22
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Html5lib выборка тегов <a href="">

sypper-pit
http://stackoverflow.com/questions/499345/regular-expression-to-extract-url-from-an-html-linkпо аналогии забираем
не подскажите как отбирать “нормальные(по которым можно перейти на другую страницу)” url?
допустим есть много url,среди них попадаются “<a href=”#mw-navigation“>navigation</a>”

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version