目次
1. 目標 1: 指定された json 内のデータをクロールする
1. 目標 1: 指定された json 内のデータをクロールする
データ内のデータをクロールする
コアコード:
dirt1 = json.loads(res.text)
print(dirt1['data'])
(1) json.loads() メソッドを使用して、有効な JSON 文字列を解析し、Python 辞書に変換できます。
(2)dirt1['data']はjsonのデータ部分を出力します
操作結果:
クロールを終えた
コード:
import requests
import json
from fake_useragent import UserAgent
def get_json():
try:
url = 'https://napi-huawei.tianyancha.com/next/web/home/vajialist?_=1688703382196'
ua = UserAgent()
headers = {
'User-Agent': ua.chrome,
}
res = requests.get(url, headers=headers,timeout=10)
dirt1 = json.loads(res.text)
print(dirt1['data'])
except:
return ""
if __name__ == '__main__':
get_json()
2. 目標 2: json からデータをフェッチするループ
ここでリストに入れる部分が 2 つあります。
したがって、リスト内のデータを取得したい場合は、次のようになります
dirt1['data']['detailList']
サイクル:
ループを使って区別する
for item in dirt1['data']['detailList']:
print(item)
コード:
import requests
import json
from fake_useragent import UserAgent
def get_json():
try:
url = 'https://napi-huawei.tianyancha.com/next/web/home/vajialist?_=1688703382196'
ua = UserAgent()
headers = {
'User-Agent': ua.chrome,
}
res = requests.get(url, headers=headers,timeout=10)
dirt1 = json.loads(res.text)
#print(dirt1['data'])
for item in dirt1['data']['detailList']:
print(item)
except:
return ""
if __name__ == '__main__':
get_json()
3. 目標 3: 各データから項目を抽出する
目標
指定されたこれら 2 つの項目を抽出します
理解:
この時点で、項目は実際には、dirt1['data']['detailList'] の項目と同等になります。
それで
item['resourceKey'] === ['data']['detailList']['resourceKey']
このコード行は、データ内の小さい resourceKey に対して正確です。
操作結果:
完全なコード:
import requests
import json
from fake_useragent import UserAgent
def get_json():
try:
url = 'https://napi-huawei.tianyancha.com/next/web/home/vajialist?_=1688703382196'
ua = UserAgent()
headers = {
'User-Agent': ua.chrome,
}
res = requests.get(url, headers=headers,timeout=10)
dirt1 = json.loads(res.text)
#print(dirt1['data'])
for item in dirt1['data']['detailList']:
#print(item)
print(item['resourceKey'])
print(item['resourceName'])
except:
return ""
if __name__ == '__main__':
get_json()
4. ネットワークセキュリティの小さなサークル
GitHub - BLACKxZONE/Treasure_knowledge https://github.com/BLACKxZONE/Treasure_knowledge