一、前导库用法
Json库
bs4、lxml主要针对html语言编写的代码,有时请求的内容返回Json代码,就需要用到Json库( Java Script Object Notation)。
Json库常用的方法是json.loads,用于解码 JSON 数据。该函数返回 Python 字段的数据类型。
import json
jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
text = json.loads(jsonData)
print text
样板:
#获取智联招聘职位信息
import requests
from lxml import etree
import json
def get_urls():
url = 'https://fe-api.zhaopin.com/c/i/sou?start=0&pageSize=90&cityId=765&salary=0,0&workExperience=-1&education=-1&companyType=-1&employmentType=-1&jobWelfareTag=-1&kw=pcb&kt=3&=0&_v=0.94714929&x-zp-page-request-id=ab2041e0e0b84d7'
rec = requests.get(url=url)
if rec.status_code == 200:
j = json.loads(rec.text) #解析之后的类型为字典类型
results = j.get('data').get('results')
for i in results:
jobname=i.get('jobName')#获取职位名称
print(jobname)
get_urls()
lxml库
是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。
1、使用 lxml 的 etree 库,可以自动修正 HTML 代码。
from lxml import etree # 导入 lxml etree 库
html = etree.HTML(text) # 获取 html 内容 元素
result = etree.tostring(html)# 将内容元素转换为字符串
print(result.decode("utf-8")