所以我需要从一些HTML中提取一些brainfuck代码,到目前为止我一直在做的事情不起作用。 HTML看起来像这样
<div class="style7" style="text-align: justify; overflow: auto;">
<br />++++++++++[>++++++++++++>+++++++++++>++++++++++++>+++++++++++>++++++++++>++++++++++++>++++++++++>++++++++++>+++++++++++>+++++++++++>++++++++++>++++++++++++<<<<<<<<<<<<-]>-----.>++++.>---.>-.>+++.>+.>+++.>++.>+.>---.>-.>-----.<br /><br /><br />
</div>
我正在使用Python和BeautifulSoup。我可以从整个文件中抓住div,但我似乎无法从标签之间获得整个脑袋。
我该怎么做呢?感谢
编辑:
在查看BeautifulSoup加载后,它似乎实际上删除了大量的代码。请求内容在那里有所有,但汤没有。
除了BeautifulSoup之外,还有更好的解析方法吗?也许是原始HTML的正则表达式?
答案 0 :(得分:2)
你的意思是这样吗?
from bs4 import BeautifulSoup
html = '''
<div class="style7" style="text-align: justify; overflow: auto;">
<br />++++++++++[>++++++++++++>+++++++++++>++++++++++++>+++++++++++>++++++++++>++++++++++++>++++++++++>++++++++++>+++++++++++>+++++++++++>++++++++++>++++++++++++<<<<<<<<<<<<-]>-----.>++++.>---.>-.>+++.>+.>+++.>++.>+.>---.>-.>-----.<br /><br /><br />
</div>
'''
soup = BeautifulSoup(html)
div_tag = soup.find('div', attrs={'class':'style7'})
div_tag.text.strip()
u'++++++++++[>++++++++++++>+++++++++++>++++++++++++>+++++++++++>++++++++++>++++++++++++>++++++++++>++++++++++>+++++++++++>+++++++++++>++++++++++>++++++++++++<<<<<<<<<<<<-]>-----.>++++.>---.>-.>+++.>+.>+++.>++.>+.>---.>-.>-----.'
答案 1 :(得分:1)
我注意到,当HTML加载到汤中时,它删除了大量的脑泡代码。这使得无法获得一切。如果它不这样做那么shaktimaan的解决方案将起作用。
相反,我在请求内容中使用了字符串,并使用正则表达式来获取brainfuck代码。
m = re.search('<br />[[\]<>.,+-]+<br />', r.content)
这会抓住它,然后你只需要剥离前导和尾随<br />
,这很好。