Python — эффективный захват строки с определенным номером?

С большого количества однотипных html-страниц нужно забрать только одну строчку с одним и тем же номером, скажем, одиннадцатым. Как это можно сделать наиболее эффективно, быстрее, чем:

<font color="black"><a href="http://s-c.me/15443/s">Copy Source</a> | <a href="http://s-c.me/15443/h">Copy HTML</a><br/>
<font color="#0000ff">for</font> i, line <font color="#0000ff">in</font> <b>enumerate</b>(page):<br/>
    <font color="#0000ff">if</font> i == <font color="#008000">10</font>:<br/>
        s = line + <font color="#008000">'\n'</font><br/>
        outfile.write(s)<br/>
    <font color="#0000ff">elif</font> i &gt; <font color="#008000">10</font>:<br/>
        <font color="#0000ff">break</font><br/>
 <br/>
</font>
  • Вопрос задан
  • 2688 просмотров
Пригласить эксперта
Ответы на вопрос 4
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Есть другой способ, на сколько быстрее не знаю, но короче точно:
Ответ написан
@bekbulatov
Если page не является списком, то преобразовать к этому типу
outfile.write('%s\n' % list(page)[10])
Ответ написан
savados
@savados
page.splitlines()[10]
Ответ написан
Комментировать
alexandris
@alexandris
Зачем читать всю страницу целиком, когда можно прочесть только необходимое:
>>> import urllib2
>>> p = urllib2.urlopen('http://habrahabr.ru/')
>>> for i in xrange(10):
... p.readline()
>>> print p.readline()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы