如何从标签之间提取文本?

时间:2016-02-02 01:43:51

标签: python html beautifulsoup screen-scraping robobrowser

我使用robobrowser来抓取此页面,在页面内部有一个textarea标记,其中包含我需要复制和存储的信息。

这是我的代码:

>>> captchacode = captchabrowser.find('textarea')
>>> print(captchacode)
<textarea cols="100" rows="5">03AHJ_VuvjiQUpaQ-JFLXqAJaUQ217f7bHqa3hG__VSG1YsbjNtsT2FGFrJksCansOxwuxniksyCsnHJTvlCeGdi2jeqUyuDfUGAQ1WIuJqO55ACslBSUnd-MtAMDIOmbTa1G9uh1QMBdZUTRXwmt1kOn7oNf6ZflnUGAtIOGeTSgx-wu8hOWY-Pw</textarea>

如何从

获取文字
<textarea cols="100" rows="5">XXXXXX</textarea>

我自己需要变量中的XXXXX

1 个答案:

答案 0 :(得分:1)

这是一个快速测试,使用python2。

from bs4 import BeautifulSoup
html='<textarea cols="100" rows="5">03AHJ_VuvjiQUpaQ-JFLXqAJaUQ217f7bHqa3hG__VSG1YsbjNtsT2FGFrJksCansOxwuxniksyCsnHJTvlCeGdi2jeqUyuDfUGAQ1WIuJqO55ACslBSUnd-MtAMDIOmbTa1G9uh1QMBdZUTRXwmt1kOn7oNf6ZflnUGAtIOGeTSgx-wu8hOWY-Pw</textarea>'
soup = BeautifulSoup(html, 'html.parser')
ta = soup.find('textarea')
if ta:
  print ta.get_text()
else:
  print "no such element"

输出:

03AHJ_VuvjiQUpaQ-JFLXqAJaUQ217f7bHqa3hG__VSG1YsbjNtsT2FGFrJksCansOxwuxniksyCsnHJTvlCeGdi2jeqUyuDfUGAQ1WIuJqO55ACslBSUnd-MtAMDIOmbTa1G9uh1QMBdZUTRXwmt1kOn7oNf6ZflnUGAtIOGeTSgx-wu8hOWY-Pw

如果您只有一个textarea,则可以使用find,另外使用find_all