Questions tagged «beautifulsoup»

Beautiful Soup是用于解析HTML / XML的Python包。该软件包的最新版本是版本4,导入为bs4。

7
Python:BeautifulSoup-根据名称属性获取属性值
我想根据属性名称打印属性值,例如 <META NAME="City" content="Austin"> 我想做这样的事情 soup = BeautifulSoup(f) //f is some HTML containing the above meta tag for meta_tag in soup('meta'): if meta_tag['name'] == 'City': print meta_tag['content'] 上面的代码给出一个KeyError: 'name',我相信这是因为BeatifulSoup使用了name,因此它不能用作关键字参数。

4
python BeautifulSoup解析表
我正在学习pythonrequests和BeautifulSoup。为了进行练习,我选择编写一个快速的NYC停车票解析器。我能够得到一个非常丑陋的html响应。我需要抓住lineItemsTable并解析所有票证。 您可以通过以下步骤来复制页面:https://paydirect.link2gov.com/NYCParking-Plate/ItemSearch输入NY图版T630134C soup = BeautifulSoup(plateRequest.text) #print(soup.prettify()) #print soup.find_all('tr') table = soup.find("table", { "class" : "lineItemsTable" }) for row in table.findAll("tr"): cells = row.findAll("td") print cells 有人可以帮我吗?简单地寻找所有东西tr并不能帮助我。

8
ImportError:没有名为BeautifulSoup的模块
我已经使用easy_install安装了BeautifulSoup,并尝试运行以下脚本 from BeautifulSoup import BeautifulSoup import re doc = ['<html><head><title>Page title</title></head>', '<body><p id="firstpara" align="center">This is paragraph <b>one</b>.', '<p id="secondpara" align="blah">This is paragraph <b>two</b>.', '</html>'] soup = BeautifulSoup(''.join(doc)) print soup.prettify() 但不确定为什么会这样 Traceback (most recent call last): File "C:\Python27\reading and writing xml file from web1.py", line 49, in <module> from BeautifulSoup import …

6
如何查找仅具有某些属性的标签-BeautifulSoup
如何使用BeautifulSoup搜索仅包含我要搜索的属性的标签? 例如,我要查找所有<td valign="top">标签。 如下代码: raw_card_data = soup.fetch('td', {'valign':re.compile('top')}) 获取我想要的所有数据,还获取<td>具有该属性的所有标签valign:top 我也试过了: raw_card_data = soup.findAll(re.compile('<td valign="top">')) 这什么也不返回(可能是由于正则表达式不好) 我想知道在BeautifulSoup中是否有一种方法可以说“查找<td>唯一属性为valign:top”的标签 例如,如果HTML文档包含以下<td>标记,则为UPDATE: <td valign="top">.....</td><br /> <td width="580" valign="top">.......</td><br /> <td>.....</td><br /> 我只希望第一个<td>标签(<td width="580" valign="top">)返回


6
测试BeautifulSoup中的标签中是否存在属性
我想获取<script>文档中的所有标签,然后根据某些属性的存在(或不存在)来处理每个标签。 例如,对于每个<script>标签,如果属性for存在,则执行一些操作;否则,如果bar存在该属性,则执行其他操作。 这是我目前正在做的事情: outputDoc = BeautifulSoup(''.join(output)) scriptTags = outputDoc.findAll('script', attrs = {'for' : True}) 但是这样我过滤了所有<script>带有for属性的标签...但是我丢失了其他标签(没有for属性的标签)。

4
仅从此元素提取文本,而不从其子元素提取文本
我只想从汤中最上面的元素中提取文本;但是汤.text也会给出所有子元素的文本: 我有 import BeautifulSoup soup=BeautifulSoup.BeautifulSoup('<html>yes<b>no</b></html>') print soup.text 输出为yesno。我只想“是”。 实现此目标的最佳方法是什么? 编辑:我也想yes在解析' <html><b>no</b>yes</html>'时输出。

3
使用BeautifulSoup查找包含某些文本的HTML标签
我正在尝试获取HTML文档中包含以下文本模式的元素:#\ S {11} <h2> this is cool #12345678901 </h2> 因此,前者将通过使用以下内容进行匹配: soup('h2',text=re.compile(r' #\S{11}')) 结果将是这样的: [u'blahblah #223409823523', u'thisisinteresting #293845023984'] 我可以获取所有匹配的文本(请参见上面的行)。但是我希望文本的父元素匹配,因此我可以将其用作遍历文档树的起点。在这种情况下,我希望所有h2元素都返回,而不是文本匹配。 有想法吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.