当我们有时候在爬取新闻等需要全部文本内容时,例如
通常会使用xpath下面的“//text()"来获取节点下全部文本,但是有的节点,比如script下的文本是我们不需要的,所以需要将这些节点在分析前就去除掉。
from random import randint
import pymysql
from lxml import html
import html as ht
r = requests.get(url, verify=False, timeout=60, headers={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'})
tree = html.fromstring(r.text)
ele = tree.xpath('//script | //noscript')
for e in ele:
e.getparent().remove(e)
Html = html.tostring(tree).decode()
tree = etree.HTML(Html)
这样就可以在去除掉js的节点后进行进一步分析了。