Python爬虫怎么循环截取html标签中间的内容?

html-css013

Python爬虫怎么循环截取html标签中间的内容?,第1张

如果是中间的数据直接就用bs4最简单

from bs4 import BeautifulSoup

#这里是请求过来的额数据处理,提取标签

html = BeautifulSoup(response.text, 'html.parser')

body = html.body       # 获取body部分数据

div = body.find("div",{'id','today'}) #用find去找div标签,id叫 today的标签里面的数据

就可以了

如果要提取标签内容比如value的值

div = body.find("input",id='hidden_title')['value']

将文章的html代码存入到数据库中,读取时不能简单地截取一定字符,必须根据html的结构适当截取内容,否则将显示错误,下面是使用System.Windows.Forms中的WebBrowser进行Html解析的代码

public string GetAbstract(string content, int maxLength)

{

  string text = ""

  System.Windows.Forms.HtmlDocument html

  if (content.Length < maxLength)

  {

   text = content

  }

  else

  {

   System.Windows.Forms.WebBrowser browser = new System.Windows.Forms.WebBrowser()

   browser.Navigate("about:blank")

   html = browser.Document.OpenNew(true)

   browser.Dispose()

   html.Write(content)

   foreach (System.Windows.Forms.HtmlElement ele in html.Body.Children)

   {

    if (text.Length + ele.OuterHtml.Length < maxLength)

    { text += ele.OuterHtml }

    else { break }

   }

  }

  return text

}

}