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

标签 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 单独放入一个变量中。

最佳答案

这是一个使用 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

如果只有一个文本区域,可以使用find,否则使用find_all

关于python - 如何从标签之间提取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35143652/

相关文章:

javascript - 我应该为这样的 javascript 按钮使用什么标签?

JavaScript - 单击未定义数量的元素以切换多个元素

python - 使用 Python 请求和 Beautiful Soup 从 span 标签中检索数字

python-2.7 - python SSLError ("bad handshake: SysCallError(-1, ' 意外的 EOF')",),))

javascript - Flask:服务器发送事件(SSE)流功能在处理输入时停止

python - 将另一个 numpy 数组作为数组附加到 numpy 数组,而不是它的元素

Python 两个列表列表随机播放

python - labelEncoder在sklearn中的工作

html - 如何仅使用 Html 和 CSS 在滚动条上创建固定/粘性标题?

python - 正则表达式类型错误 : 'NoneType' object is not callable