Python 如何在不写入光盘的情况下读取和解析html文件

Python 如何在不写入光盘的情况下读取和解析html文件,python,Python,最近,我编写了一个python脚本来解析网页中的特定行。此代码工作正常,但每当我运行它时,它都会下载并在工作目录上写入一个文件“.php”: #!/usr/bin/env python import wget import re from HTMLParser import HTMLParser import tempfile url = "http://tuberculist.epfl.ch/quicksearch.php?gene+name=0009&submit=Search#se

最近,我编写了一个python脚本来解析网页中的特定行。此代码工作正常,但每当我运行它时,它都会下载并在工作目录上写入一个文件“.php”:

#!/usr/bin/env python
import wget
import re
from HTMLParser import HTMLParser
import tempfile
url = "http://tuberculist.epfl.ch/quicksearch.php?gene+name=0009&submit=Search#sequence"
filname = wget.download(url)
a = open(filname,'r')
b = a.readlines()
f = "|Rv0009|"
for c in b:
    if f in c:
        pattern = re.compile("> >.+<br /></")
        z = pattern.findall(c)
        print z
#/usr/bin/env python
进口工作组
进口稀土
从HTMLPasser导入HTMLPasser
导入临时文件
url=”http://tuberculist.epfl.ch/quicksearch.php?gene+name=0009&submit=Search#sequence“
filname=wget.download(url)
a=打开(filname,'r')
b=a.读线()
f=“| Rv0009 |”
对于b中的c:
如果f在c中:
pattern=re.compile(“>>。+
一些注释:

  • urllib.urlopen(url)
    将为您提供一个类似文件的对象,而不会在磁盘上写入任何内容
  • 您的代码正在导入未使用的两个模块(
    HTMLParser
    tempfile
    ),请清除这些导入
  • URL的
    #序列
    部分永远不会提供给服务器(它是HTTP规范的一部分)。您可以将其取出
  • <> LI>使用正则表达式解析HTML。随着用例的复杂化,它将导致你的痛苦和痛苦。考虑使用LxML.html()或BeautifulSoup()来代替。
您可以使用
urllib2
模块(或者,如果您有模块的话)将页面内容下载到内存中的变量中。@qwrrty感谢它工作正常。