我有学习python抓取的问题,如下所示:
from bs4 import BeautifulSoup
import requests
url = 'http://www.zhipin.com/job_detail/1411924978.html'
result = requests.get(url)
soup = BeautifulSoup(result.text,'lxml').select('#main > div.job-banner > div > div > div.info-company > p')
print(soup[1])
print(soup[1].get_text())
结果是:
<p>IT软件<em class="vline"></em>已上市<em class="vline"></em>10000人以上</p>
IT软件已上市10000人以上
但我想要的print(soup[1].get_text())
是这样的:
IT软件 已上市 10000人以上
或
IT软件
已上市
10000人以上
我该如何编写代码?
非常感谢!
答案 0 :(得分:0)
您可以尝试:
print soup[1].getText(separator=u' ') # space separator
print soup[1].getText(separator=u'\n') # newline separator
输出结果为:
>>> print soup[1].getText(separator=u' ')
IT软件 已上市 10000人以上
>>> print soup[1].getText(separator=u'\n')
IT软件
已上市
10000人以上
来源:another SO answer =&gt;请在提出问题之前研究您的问题。