靓汤系列搭配

2024-10-01 11:22:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图构建一个只包含表头和与我相关的行的html表。我使用的网站是http://wolk.vlan77.be/~gerben。在

我正在尝试获取表头和表条目,这样就不必每次都查找自己的名称。在

我想做的是:

  • 获取html页面
  • 解析它以获取表的头
  • 解析它以获得与我相关的表标记的行(因此包含lucas的表行)
  • 构建一个html页面,显示与我相关的标题和表条目

我现在做的是:

  • 先用beautifulsoup获取标题
  • 获取我的条目
  • 将两者都添加到数组中
  • 将此数组传递给生成可打印为html页的字符串的方法

    def下载URL(self): 全局输入 文件句柄=self.urllib.urlopen('http://wolk.vlan77.be/~gerben') 输入='' 对于线路输入文件句柄.readlines(): 输入+=线路 文件句柄.close()

    def soupParserToTable(self,input):
        global header
    
        soup = self.BeautifulSoup(input)
        header = soup.first('tr')
        tableInput='0'
    
        table = soup.findAll('tr')
        for line in table:
            print line
            print '\n \n'
            if '''lucas''' in line:
                print 'true'
            else:
                print 'false'
            print '\n \n **************** \n \n'
    

我想从包含lucas的html文件中获取一行,但是当我这样运行时,我在输出中得到以下内容:

^{pr2}$

现在我不明白为什么它不匹配,卢卡斯的绳子很明显在里面:/?在


Tags: 文件selfhttphtmlline条目页面be
2条回答

看来你把事情搞得太复杂了。在

这里有一个更简单的版本。。。在

>>> import BeautifulSoup
>>> import urllib2
>>> html = urllib2.urlopen('http://wolk.vlan77.be/~gerben')
>>> soup = BeautifulSoup.BeautifulSoup(html)
>>> print soup.find('td', text=lambda data: data.string and 'lucas' in data.string)
lucas.vlan77.be

因为线不是字符串,但是美丽组标签实例。尝试获取td值:

if '''lucas''' in line.td.string:

相关问题 更多 >