python:将字符串的一部分分配给变量

时间:2012-09-19 19:36:23

标签: python string beautifulsoup

我需要一些帮助,学习像程序员一样思考。

我正在使用beautifulsoup4来抓取内容。我想在p标签中有三个字符串。前两个是子标签的字符串。第三个是p选项卡的字符串。它看起来像这样:

<p>
<a href="some stuff">First String</a>
<br/>
<a href="some stuff">Second String</a>
<br/>
Third String
<br/>
unimportant fourth string
<br/>
</p>

我想将每个字符串分配给它自己的变量,但我无法弄清楚如何将它们分开。似乎我应该能够分成行然后分配每一行。我的代码目前看起来像这样:

events=body.find_all('p') #find all the p tags
for strings in events[3]: #get the first of the p tags i'm interested in
    if strings.string:
        all= str(strings.string).splitlines() #puts each string on its own line
        for line in all: #shouldn't I be able to get each line by its index?
            print line

无论我尝试什么,我都会得到所有三条线。我花了好几个小时尝试不同的事情,我希望这里的某个人可以告诉我正确的思考方式。

由于

1 个答案:

答案 0 :(得分:0)

variable = {} # a dictionary
variable_names = ['line-1', 'line-2', 'line-3', 'line-4']

events=body.find_all('p')
for strings in events[3]:
    if strings.string:
        all= str(strings.string).splitlines()
        for i,line in enumerate(all):
            variable[variable_names[i]] = line

        # test
        print variable['line-1']