Форум сайта python.su
6
s = requests.Session() url = "http:127.0.0.1/index" passwd = "12345" r = s.post(url, passwd) g = s.get('url') doc = lxml.html.document_fromstring(g.text) v = doc.xpath('//tr[1]/td[2]/text()[1]') print v на выводе [u'\xa0 \n PARSE ME \xa0\xa0\xa0  PARSE ME:CE (', 'ok'] а хотелось бы [PARSE ME: PARSE ME]
Офлайн
857
Вот тебе пример
>>> import lxml.html >>> >>> doc = lxml.html.fromstring('<b>abcd</b>') >>> text = doc.xpath(r'//b/text()')[0] >>> text 'abcd' >>>
Офлайн
6
спасибо, решил так:
doc = lxml.html.document_fromstring(g.text) v = doc.xpath('//tr[1]/td[2]/text()[1]') v1 = re.search('regexp', v[0].encode('utf-8')) print v1.group(0)
Офлайн
857
Не надо у text() брать первый элемент. А v1.group(0) даст “regexp” в любом случае, поэтому достаточно просто проверить v1 на None.
Офлайн
6
py.user.nextизвиняюсь за пример, на практике
Не надо у text() брать первый элемент. А v1.group(0) даст “regexp” в любом случае, поэтому достаточно просто проверить v1 на None.
regexp text() без [1]
Отредактировано papuas (Апрель 12, 2016 12:52:41)
Офлайн