我需要一些帮助,学习像程序员一样思考。
我正在使用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
无论我尝试什么,我都会得到所有三条线。我花了好几个小时尝试不同的事情,我希望这里的某个人可以告诉我正确的思考方式。
由于
答案 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']