【问题标题】:strip the html tags and return only text using mechanize in python在 python 中使用 mechanize 剥离 html 标签并仅返回文本
【发布时间】:2014-03-25 03:56:42
【问题描述】:

我编写了一个代码,通过使用 mechanize 提供搜索词来从网站中提取信息。 结果有html标签和其他细节以及文本。我只需要提取文本。帮助我修改代码

import mechanize
br=mechanize.Browser()
br.set_handle_robots( False )
br.addheaders = [('User-agent', 'Firefox')]
r=br.open("http://www.drugs.com/search-wildcard-phonetic.html")
br.select_form(nr=0)
br.form['searchterm']='panadol'
br.submit()
print br.response().read()

【问题讨论】:

  • 您是否在某个标签内寻找某些特定文本?
  • @SpencerGrantDoak 是的
  • 我强烈建议只使用正则表达式。我没有使用机械化,但我假设br.response().read() 返回一个字符串。如果是这样,您可以导入正则表达式并获取 html 标签内的数据。

标签: python web-scraping mechanize


【解决方案1】:

这似乎是同一个问题 Python code to remove HTML tags from a string 指向 Strip HTML from strings in Python

复制该问题的最佳答案给出:

我总是使用这个函数来去除 HTML 标签,因为它只需要 Python 标准库:

from HTMLParser import HTMLParser

class MLStripper(HTMLParser):
  def __init__(self):
    self.reset()
    self.fed = []
  def handle_data(self, d):
    self.fed.append(d)
  def get_data(self):
    return ''.join(self.fed)

def strip_tags(html):
  s = MLStripper()
  s.feed(html)
  return s.get_data()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    相关资源
    最近更新 更多