前提・実現したいこと
セキュリティセンサーで検知したIPアドレスを基に、alienvault(セキュリティ情報)に照合したい。
1段階目 情報があるかどうか、結果をCSV出力(とりあえず、ためしに1IPアドレス、、、それができたら、自動で数百)
2段階目 1段階目のヒットしたアドレスを基に詳細ページのアドレスを自動で付与したものをCSV出力
発生している問題・エラーメッセージ
・ヒットするIPで、実施するとレスポンスが複数行あるので、https://××.××.××.××/の記載のある行のみ出力したい。
・検知したIPアドレス一覧(csv or text)から自動で問合せIP部分を入力
該当のソースコード
import requests import json import csv import sys headers = {"content-type": "application/json"} res = requests.get('https://otx.alienvault.com/api/v1/indicators/IPv4/42.51.19.26/url_list') data = res.json() target_dicts = data['url_list'] with open('1yx.csv', 'w', encoding="utf_8_sig") as f: csv.register_dialect('dialect01', doublequote=True, quoting=csv.QUOTE_ALL) writer = csv.DictWriter(f, fieldnames=target_dicts[0].keys(), dialect='dialect01') writer.writeheader() for target_dict in target_dicts: writer.writerow(target_dict)
試したこと
とりあえず、個別に消して(del)みましたが。レスポンスはIPによってちがうので、、、https://××.××.××.××/の記載のある行だけ抽出できればよいかなと結論となりました。
補足情報(FW/ツールのバージョンなど)
出力結果
"url","date","domain","hostname","result","httpcode","gsb","encoded" "http://42.51.19.26/","2021-11-23T06:06:29","","42.51.19.26","{'urlworker': {'http_code': 0}, 'safebrowsing': {'matches': []}}","0","[]","http%3A//42.51.19.26/" "https://42.51.19.26/","2021-11-23T06:06:27","","42.51.19.26","{'urlworker': {'http_code': 0}, 'safebrowsing': {'matches': []}}","0","[]","https%3A//42.51.19.26/" "https://42.51.19.26","2021-11-17T09:26:25","","42.51.19.26","{'urlworker': {'http_code': 0}, 'safebrowsing': {'matches': []}}","0","[]","https%3A//42.51.19.26" "http://42.51.19.26","2021-11-17T09:26:25","","42.51.19.26","{'urlworker': {'http_code': 0}, 'safebrowsing': {'matches': []}}","0","[]","http%3A//42.51.19.26"
ここにより詳細な情報を記載してください。
このままではコードが読めないので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
失礼しました。タグで囲みました。
あなたの回答
tips
プレビュー