# auto search and compare ```python= import urllib.request from urllib.parse import quote import json import string # 第一次使用本程式時,請設為 True,第二次以後,設為 False first_time = True # 總共想要幾筆搜尋結果 num_item = 10 # 把 dic 這個 dictionary 裡面的搜尋結果存進檔案 def write_to_file(dic): for i in range(num_item): # 打開一個檔案,在 data 資料夾下,取名為 <現在的i>.text f = open("data/%d.txt" % i, 'w') # lines 是一個 list,內有三個字串:標題、網址、簡介 lines = [dic["items"][i]["title"] + "\n", dic["items"][i]["link"] + "\n", dic["items"][i]["snippet"] + "\n"] # 把 lines 寫入檔案 f.writelines(lines) # 關檔案 f.close() def search(): # 把 num_item 填入前面 %d 的位置 url = "https://www.googleapis.com/customsearch/v1?key=[你的API Key]&cx=[你的Search Engine ID]&q=vtuber+福利卡&start=0&num=%d" % num_item url = quote(url, safe=string.printable) print(url) res = urllib.request.urlopen(url).read() dic = json.loads(res) if first_time: for i in range(num_item): print(dic["items"][i]["title"]) print(dic["items"][i]["link"]) print(dic["items"][i]["snippet"]) write_to_file(dic) else: # 把本次的搜尋結果存到 link_to_item 這個 dictionary,方便等一下比較 # dictionary 的 key 是網址,value 是這筆搜尋結果的全部內容 link_to_item = {} for i in range(num_item): link_to_item[dic["items"][i]["link"]] = dic["items"][i] # 把之前存在檔案裡的搜尋結果讀出來,放到 link_to_item_in_files 裡 link_to_item_in_files = {} for i in range(num_item): f = open("data/%d.txt" % i, 'r') lines = [f.readline(), f.readline(), f.readline()] link_to_item_in_files[lines[1]] = lines # 比對兩者的 key,找出 link_to_item_in_files 沒有但 link_to_item 有的 # 代表是新的搜尋結果 for link, value in link_to_item.items(): if not link + "\n" in link_to_item_in_files: print("Found a new mention!\n" + value["title"] + "\n" + value["link"] + "\n" + value["snippet"] + "\n") # 最後一樣要記得把這次的結果存到檔案裡去 write_to_file(dic) search() ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up