python3代码从网页源代码中只检索一个特定的行

时间:2014-07-03 10:01:45

标签: python url python-3.x urlopen

在我的代码中,我使用了urlopen,但它获取了整个网页。是否可以只检索网页源代码的一个特定行号,以便优化我的程序

例如,我想从此链接www.ncbi.nlm.nih.gov/snp/?term=273898673?term=273898673

的源代码中打印第135行

mycode:

from urllib.request import urlopen
query="www.ncbi.nlm.nih.gov/snp/?term=273898673?term=273898673"
data=urlopen(query)
html = data.read()
codec = data.info().get_param('charset', 'utf8')
data = html.decode(codec)
print (data)

我可以执行任何urlopen()定制吗?
P.S 我有python 3.X

1 个答案:

答案 0 :(得分:1)

您可以使用枚举来获取特定的行号,而无需一次读取内存中的所有内容:

import urllib.request
response = urllib.request.urlopen('http://www.ncbi.nlm.nih.gov/snp/?term=273898673?term=273898673')
for line_number, line in enumerate(response):
    # Because this is 0-index based
    if line_number == 134:
        print line
    # Stop reading
    elif line_number > 134:
        break