这整个Python的事情还是很新的。这就是我想要做的事情:
Extracting words from txt file using python
类似的那样,但是我不需要在单引号之间取出单词,而是需要用双引号来表达单词。
现在,我有一个脚本抓取一个网站并保存HTML。效果很好。没问题。 然后我让BeautifulSoup安排HTML并搜索页面中我需要的数据所在的所有表。 以下是其中一个表格行的示例:
<td style="background-color:red;w ...blahblahblah... margin:0px;background:none" title="Bland NB" type="button" value="TRX"/>
BeautifulSoup将所有HTML排列为每行一个表行(如果有意义的话)我使用正则表达式进行搜索只能拉出其中有“background-color:red”的表格行,因为红色的是我唯一关心获得头衔的人。我只需要逐行执行脚本(就像上面有大约350行,但有不同的标题)并在'title ='之后取出引号中的内容并将其全部保存到文本文件中“title = “如果你知道我的意思,每行进入......
我认为BeautifulSoup可能会这样做。我一直在与分区和条带功能搏斗,但无法让它们做我想让他们做的事情。我也认为我可以使用正则表达式来做它,但这本身就是一种蠕虫病毒。
我太近了!任何帮助非常感谢!!
谢谢!
修改
我无法发布更多代码,因为它包含公司IP和我无法在野外发布的信息。遗憾。
- 布伦特
答案 0 :(得分:0)
html = """
<td style="background-color:red;w ...blahblahblah... margin:0px;background:none" title="Bland NB" type="button" value="TRX"/>
"""
from bs4 import BeautifulSoup
soup = BeautifulSoup(html)
if "background-color:red" in td.get("style"):
print soup.td.get("title")
Bland NB
把它们放在一起:
soup = BeautifulSoup(html)
all_tds = soup.findAll("td")
with open("out.txt","a+") as f:
for td in all_tds:
if "background-color:red" in soup.td.get("style"):
f.write(soup.td.get("title")+"\n")