今天请求的网站是360教育的文章索引页,本来想着用bs4库来解析复习一下BS4库。然而没有想到返回的内容是JSON格式的,所以就用了jsonpath方式来解析。
俗话说写例子不上源码的都是耍流氓,就上一下源码。
要求:获取索引页中每篇文章的标题及简介
基本库:
import requests
import json
import jsonpath
发起请求:
url='https://groot.hao.360.cn/api/article/listcategory=KtjcPkPjYKK4OD&page={}&project_id=1'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}
start_url = int(input('输入你要爬取的页数:'))
for page in range(1,start_url+1):
url = url.format(page)
r = requests.get(url=url,headers=headers)
将json转换为python对象:
obj = json.loads(r.text)
开始解析json格式文件:
title = jsonpath.jsonpath(obj,'$.data.article_data[*].title')
jaoshi = jsonpath.jsonpath(obj,'$.data.article_data[*].summary')
edit_time = jsonpath.jsonpath(obj,'$.data.article_data[*].edit_time')
如有错误,望提之,共勉!
2019.6.28
网友评论