今天請(qǐng)求的網(wǎng)站是360教育的文章索引頁(yè)瘸彤,本來(lái)想著用bs4庫(kù)來(lái)解析復(fù)習(xí)一下BS4庫(kù)鸵膏。然而沒(méi)有想到返回的內(nèi)容是JSON格式的,所以就用了jsonpath方式來(lái)解析。
俗話說(shuō)寫例子不上源碼的都是耍流氓邻寿,就上一下源碼。
要求:獲取索引頁(yè)中每篇文章的標(biāo)題及簡(jiǎn)介
基本庫(kù):
import requests
import json
import jsonpath
發(fā)起請(qǐng)求:
url='https://groot.hao.#/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('輸入你要爬取的頁(yè)數(shù):'))
for page in range(1,start_url+1):
url = url.format(page)
r = requests.get(url=url,headers=headers)
將json轉(zhuǎn)換為python對(duì)象:
obj = json.loads(r.text)
開(kāi)始解析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')
如有錯(cuò)誤绽快,望提之碱屁,共勉!
2019.6.28