Форум сайта python.su
есть текст в нем есть
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTU1NDAxODgzOA9kFgJmD2QWAgIBD2QWDmYPFQE+PHNjcmlwdCBzcmM9Imh0dHA6Ly9wcm9tby5tZC9Ub29sYmFyL0RlZi5hc3B4P0lEPTk5Ij48L3NjcmlwdD5kAgIPZBYCZg8VAT48c2NyaXB0IHNyYz0iaHR0cDovL3Byb21vLm1kL1Nob3dzL0QxLmFzcHg/UklEPTEwOTQiPjwvc2NyaXB0PmQCAw9kFhJmDxYCHgdWaXNpYmxlaBYIZg8VAQYmbmJzcDtkAgEPFQEHL0Jhc2tldGQCBQ9kFgJmDxUBEi9pbWFnZXMvaWNvL3JvLmdpZmQCBg8PFgIeBFRleHQFCtCS0YvRhdC+0LRkZAIBD2QWAmYPDxYCHg9Db21tYW5kQXJndW1lbnQFBUZhbHNlZBYCZg8VARIvaW1hZ2VzL2ljby9yby5naWZkAgIPFQEOL1NldHRpbmdzLmFzcHhkAgMPFgIfAQUO0JzQvtC70LTQvtCy0LBkAgQPFgIfAQUu0YHQtdCz0L7QtNC90Y8gMyZuYnNwOzE5OCDQvtCx0YrRj9Cy0LvQtdC90LjQuWQCBQ8VAQBkAgYPFQEAZAIHDxUBAGQCCQ9kFgJmDxUCmQJvbm1vdXNlZG93bj0idGhpcy5zdHlsZS5wb3NpdGlvbj0ncmVsYXRpdmUnO3RoaXMuc3R5bGUudG9wPScxcHgnOyIgb25tb3VzZXVwPSJ0aGlzLnN0eWxlLnBvc2l0aW9uPSdzdGF0aWMnOyIgb25tb3VzZW91dD0idGhpcy5zcmM9Jy9pbWFnZXMvYnRuL2ZpbmRfLnBuZyc7dGhpcy5zdHlsZS5wb3NpdGlvbj0nc3RhdGljJztQbmdGaXgoJy9pbWFnZXMvXy5naWYnKTsiIG9ubW91c2VvdmVyPSJ0aGlzLnNyYz0nL2ltYWdlcy9idG4vZmluZF8xLnBuZyc7UG5nRml4KCcvaW1hZ2VzL18uZ2lmJyk7IhUvaW1hZ2VzL2J0bi9maW5kXy5wbmdkAgQPFQEXIHN0eWxlPSJkaXNwbGF5OiBub25lOyJkAgUPFQEGJm5ic3A7ZAIJD2QWDgIBDw9kFgQeB29uZm9jdXMFOk1hcmtldF9TaG93RGl2VGV4dCgnY3RsMDBfTWFpbjNfZGl2MScsJ2N0bDAwX01haW4zX3RpcHMnKTseCG9uY2hhbmdlBStNYXJrZXRfU3VibWl0KCdjdGwwMF9NYWluM19CdXR0b24xJyxldmVudCk7ZAICDw8WAh8BBUPQndC1INC/0YDQsNCy0LjQu9GM0L3QviDQstCy0LXQtNC10L0g0LvQvtCz0LjQvSDQuNC70Lgg0L/QsNGA0L7Qu9GMZGQCAw8PZBYEHwMFOk1hcmtldF9TaG93RGl2VGV4dCgnY3RsMDBfTWFpbjNfZGl2MScsJ2N0bDAwX01haW4zX3RpcHMnKTsfBAUrTWFya2V0X1N1Ym1pdCgnY3RsMDBfTWFpbjNfQnV0dG9uMScsZXZlbnQpO2QCBQ8VAR/Ql9Cw0L/QvtC80L3QuNGC0Ywg0L/QsNGA0L7Qu9GMZAIGDw8WAh4LTmF2aWdhdGVVcmwFEy9Mb2dpbi9SZXN0b3JlLmFzcHhkZAIHDw8WAh8BBQrQktC+0LnRgtC4ZGQCCA8PFgIfAWVkZAILDxUBBy9CYXNrZXRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBRVjdGwwMCRNYWluMyRDaGVja0JveDHylJeKUQwYFUY0STWbJpykFBsg1l2cjUoGgHIC7Z+kfQ==" />
Офлайн
я так понял, если нужно всю эту кракозяблу вытащить, то
for i in range(len(a)): #где а это весь этот текст
if a=='value=\"/':
for j in range(i,len(a)):
if a=='>':
x=a
break
x это и будет кракозябла между value="/ и >
Офлайн
re.findall(r“value=\”(.*?)\“”, text)
но лучше пользоваться парсерами html
Офлайн
по ходу я что то левое написал :\
Офлайн
Я так понял, что в value нет пробелов. Тогда есть еще одно решение, правда, не самое кошерное :), но, пожалуй, самое простое:
value = my_string.split().lstrip(“value=”).strip('"')
Офлайн
Vader
думаю не сложно догадаться, что текст для парсинга - это часть html-страницы, в которой миллион пробелов и куча input-ов. Поэтому твой код здесь бесполезен.
Офлайн
dimabestНу я ж написал, что код “некошерный” :) Просто, я так понимаю, что этот инпут уже откуда-то смогли выдрать…
Vader
думаю не сложно догадаться, что текст для парсинга - это часть html-страницы, в которой миллион пробелов и куча input-ов. Поэтому твой код здесь бесполезен.
есть текст в нем естьтаки да, код бесполезен…
Отредактировано (Май 21, 2010 23:10:01)
Офлайн
Спасибо всем большое, разобрался )
Офлайн