我有一个简单的 Python 脚本,它使用 BeautifulSoup 来查找 HTML 树的一部分。例如,要查找<div id="doctext">
标签内的所有内容,脚本会执行以下操作:
html_section = str(soup.find("div", id="doctext"))
但是,我希望能够find()
根据输入文件中给出的字符串使参数发生变化。例如,用户可以为脚本提供一个 URL,后跟一个类似 的字符串"div", id="doctext"
,脚本会相应地调整查找。想象一下输入文件是这样的:
http://www.example.com | "div", id="doctext"
该脚本将行拆分以获取 URL,这可以正常工作,但我希望它也可以获取参数。例如:
vars = line.split(' | ')
html = urllib2.urlopen(vars[0]).read()
soup = BeautifulSoup(html)
args = vars[1].split()
html_section = str(soup.find(*args))
这不起作用——而且可能没有意义,因为我一直在尝试多种方法来做到这一点。如何获取输入文件提供的字符串并将其准备为soup.find()
函数的正确语法?