如果是中间的数据直接就用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
}
}