在爬虫中,经常遇到需要页面界面都才能看到正确的内容,否则中文会显示为乱码,但每个页面的编码方式不一样,此时最好能自动获取页面的编码方式,然后对页面进行解码,才能获取到我们想要的内容。
代码如下:
-
from lxml import etree import chardet import requests import
urllib# 自动获取页面源码的编码方式 def automatic_detect(url): # python2,urllib.urlopen content = urllib.request.urlopen(url).read() result = chardet.detect(content) encoding = result['encoding'] return encoding url = 'http://www.yongdasbkj.com/' resp = requests.get(url, verify=False) html_string = resp.content.decode(automatic_detect(url)) # print(html_string) html = etree.HTML(html_string) # 获取titile titles = html.xpath('//title') for title in titles: title = title.xpath('text()') print(title)