[問題] 請問如何透過外部條件設定api資料抓取

看板Python作者 (poorguy)時間5年前 (2019/04/20 21:47), 編輯推噓6(6045)
留言51則, 4人參與, 5年前最新討論串1/1
版上諸位先進大家好 我不斷嘗試如何直接從外部設定條件 藉此從api抓資料 但我目前卡在這裡 https://pastebin.com/2E7Yr95N 我只要把程式命令提示字元 就會出現以下圖示 https://imgur.com/a/vI52TJ2 請問我做錯了什麼 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.224.171 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1555768021.A.492.html

04/20 22:41, 5年前 , 1F
你要用sys.argv[1]就要輸入參數啊
04/20 22:41, 1F

04/21 00:31, 5年前 , 2F
給lajji,我不懂您說的輸入參數,可以解釋更清楚一點嗎
04/21 00:31, 2F

04/21 08:04, 5年前 , 3F
你用sys.argv[1]的用意是什麼
04/21 08:04, 3F

04/21 09:11, 5年前 , 4F
給lajji,我是照著書打的,sys.argv[1]的解釋是
04/21 09:11, 4F

04/21 09:13, 5年前 , 5F
將sys.argv的第2個項目,亦即第1參數的"想搜尋的標題"
04/21 09:13, 5F

04/21 09:15, 5年前 , 6F
指派給search_word
04/21 09:15, 6F

04/21 09:36, 5年前 , 7F

04/21 09:36, 5年前 , 8F
圈起來的部分就是你需給的參數 sys.argv的參數就是
04/21 09:36, 8F

04/21 09:36, 5年前 , 9F
你在執行時後面所付的東西 為一list 0的位置存放檔
04/21 09:36, 9F

04/21 09:36, 5年前 , 10F
名 後面放置所傳入的參數
04/21 09:36, 10F

04/21 09:37, 5年前 , 11F
04/21 09:37, 11F

04/21 09:37, 5年前 , 12F
一個傳入的參數 如沒傳入 list的長度為1 自然會ind
04/21 09:37, 12F

04/21 09:37, 5年前 , 13F
ex out of range
04/21 09:37, 13F

04/21 09:38, 5年前 , 14F
如果沒要這樣傳入 應該是用input 如果有錯請大家糾
04/21 09:38, 14F

04/21 09:38, 5年前 , 15F
正 我也是新手
04/21 09:38, 15F

04/21 10:55, 5年前 , 16F
給charlie11438,感謝你的協助,所以就你的答案來看
04/21 10:55, 16F

04/21 10:58, 5年前 , 17F
我一直搞不清楚要如何透過sys.argv[1]去抓預設參數
04/21 10:58, 17F

04/21 11:00, 5年前 , 18F
所以這是否代表我少準備一個檔案,所以檔案不成功
04/21 11:00, 18F

04/21 11:01, 5年前 , 19F
另外,我也不懂如果用input要怎麼改,可以請您告訴我嗎
04/21 11:01, 19F

04/21 11:02, 5年前 , 20F
抱歉我還太嫩,您跟lajji要表達的我實在不大懂
04/21 11:02, 20F

04/21 11:27, 5年前 , 21F
argv是參數list, 第一個也就是argv[0]是代表程式名稱
04/21 11:27, 21F

04/21 11:27, 5年前 , 22F
你的程式裡面有用到argv[1]代表有用到第二個元素
04/21 11:27, 22F

04/21 11:27, 5年前 , 23F
但是你下指令的時候只有程式名稱 自然就如版友提到的會
04/21 11:27, 23F

04/21 11:27, 5年前 , 24F
out of range
04/21 11:27, 24F

04/21 11:30, 5年前 , 25F
使用argv跟input都是可以要參數的方法
04/21 11:30, 25F

04/21 11:30, 5年前 , 26F
新手的話可能用input會比較友善
04/21 11:30, 26F

04/21 11:30, 5年前 , 27F
input寫法就是改成 search word=input()
04/21 11:30, 27F

04/21 11:30, 5年前 , 28F
這樣在執行程式的時候 會等你輸入才會繼續跑下去
04/21 11:30, 28F

04/21 12:10, 5年前 , 29F
如果是要改成input,上面的版友已經給了,應該不是
04/21 12:10, 29F

04/21 12:10, 5年前 , 30F
你少檔案,而是你在命令提示字元執行時後面要加入
04/21 12:10, 30F

04/21 12:10, 5年前 , 31F
參數,也就是python *. py [你要加的參數]
04/21 12:10, 31F

04/21 12:10, 5年前 , 32F
以空格區分 分別存入list中 第幾個就是存放的位置
04/21 12:10, 32F

04/21 12:10, 5年前 , 33F
eg 第一個傳入的參數index=1 不過用input也可以 就
04/21 12:10, 33F

04/21 12:10, 5年前 , 34F
是variable=input('文字')
04/21 12:10, 34F

04/21 12:11, 5年前 , 35F
https://reurl.cc/NNK16 你可以看一下這個
04/21 12:11, 35F

04/21 12:28, 5年前 , 36F

04/21 12:28, 5年前 , 37F

04/21 12:29, 5年前 , 38F
sys.argv的原理大概像這樣 為一list 也可以查找ind
04/21 12:29, 38F

04/21 12:29, 5年前 , 39F
ex 執行命令後一串的參數將會分別存入。
04/21 12:29, 39F

04/21 12:30, 5年前 , 40F

04/21 13:11, 5年前 , 41F
給TitanEric,多謝你的協助,我把原本程式的第3行
04/21 13:11, 41F

04/21 13:12, 5年前 , 42F
改成search word=input(),就可輸入想要搜尋的對象
04/21 13:12, 42F

04/21 13:13, 5年前 , 43F
然後形成html檔案,只是輸錯名稱就糗了
04/21 13:13, 43F

04/21 13:14, 5年前 , 44F
但請恕我才疏學淺,TitanEric+charlie114,我反而更不懂
04/21 13:14, 44F

04/21 13:16, 5年前 , 45F
input和sys.argv為何有此差異,事實上我連charlie11438
04/21 13:16, 45F

04/21 13:17, 5年前 , 46F
給的範例都看不懂,不,根本大家的都看不懂,我只能猜測
04/21 13:17, 46F

04/21 13:19, 5年前 , 47F
使用input之後,input變成在命令提示字元可以輸入字詞
04/21 13:19, 47F

04/21 13:28, 5年前 , 48F
的理由,但我還是無法理解原本少了什麼
04/21 13:28, 48F

04/21 13:30, 5年前 , 49F
例如"命令提示字元執行時後面要加入參數,也就是"
04/21 13:30, 49F

04/21 13:31, 5年前 , 50F
"python *. py [你要加的參數]",抱歉還是看不懂
04/21 13:31, 50F

04/21 13:54, 5年前 , 51F
要打的東西有點多,已經變成一篇文章,你再看看。
04/21 13:54, 51F
文章代碼(AID): #1SkoBLII (Python)
文章代碼(AID): #1SkoBLII (Python)