作者alubasteve (poorguy)
看板Python
标题[问题] 请问如何透过外部条件设定api资料抓取
时间Sat Apr 20 21:46:59 2019
版上诸位先进大家好
我不断尝试如何直接从外部设定条件
藉此从api抓资料
但我目前卡在这里
https://pastebin.com/2E7Yr95N
我只要把程式命令提示字元
就会出现以下图示
https://imgur.com/a/vI52TJ2
请问我做错了什麽
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.161.224.171
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1555768021.A.492.html
1F:推 lajji: 你要用sys.argv[1]就要输入参数啊 04/20 22:41
2F:→ alubasteve: 给lajji,我不懂您说的输入参数,可以解释更清楚一点吗 04/21 00:31
3F:→ lajji: 你用sys.argv[1]的用意是什麽 04/21 08:04
4F:→ alubasteve: 给lajji,我是照着书打的,sys.argv[1]的解释是 04/21 09:11
5F:→ alubasteve: 将sys.argv的第2个项目,亦即第1参数的"想搜寻的标题" 04/21 09:13
6F:→ alubasteve: 指派给search_word 04/21 09:15
8F:→ charlie11438: 圈起来的部分就是你需给的参数 sys.argv的参数就是 04/21 09:36
9F:→ charlie11438: 你在执行时後面所付的东西 为一list 0的位置存放档 04/21 09:36
10F:→ charlie11438: 名 後面放置所传入的参数 04/21 09:36
12F:→ charlie11438: 一个传入的参数 如没传入 list的长度为1 自然会ind 04/21 09:37
13F:→ charlie11438: ex out of range 04/21 09:37
14F:→ charlie11438: 如果没要这样传入 应该是用input 如果有错请大家纠 04/21 09:38
15F:→ charlie11438: 正 我也是新手 04/21 09:38
16F:→ alubasteve: 给charlie11438,感谢你的协助,所以就你的答案来看 04/21 10:55
17F:→ alubasteve: 我一直搞不清楚要如何透过sys.argv[1]去抓预设参数 04/21 10:58
18F:→ alubasteve: 所以这是否代表我少准备一个档案,所以档案不成功 04/21 11:00
19F:→ alubasteve: 另外,我也不懂如果用input要怎麽改,可以请您告诉我吗 04/21 11:01
20F:→ alubasteve: 抱歉我还太嫩,您跟lajji要表达的我实在不大懂 04/21 11:02
21F:推 TitanEric: argv是参数list, 第一个也就是argv[0]是代表程式名称 04/21 11:27
22F:→ TitanEric: 你的程式里面有用到argv[1]代表有用到第二个元素 04/21 11:27
23F:→ TitanEric: 但是你下指令的时候只有程式名称 自然就如版友提到的会 04/21 11:27
24F:→ TitanEric: out of range 04/21 11:27
25F:→ TitanEric: 使用argv跟input都是可以要参数的方法 04/21 11:30
26F:→ TitanEric: 新手的话可能用input会比较友善 04/21 11:30
27F:→ TitanEric: input写法就是改成 search word=input() 04/21 11:30
28F:→ TitanEric: 这样在执行程式的时候 会等你输入才会继续跑下去 04/21 11:30
29F:推 charlie11438: 如果是要改成input,上面的版友已经给了,应该不是 04/21 12:10
30F:→ charlie11438: 你少档案,而是你在命令提示字元执行时後面要加入 04/21 12:10
31F:→ charlie11438: 参数,也就是python *. py [你要加的参数] 04/21 12:10
32F:→ charlie11438: 以空格区分 分别存入list中 第几个就是存放的位置 04/21 12:10
33F:→ charlie11438: eg 第一个传入的参数index=1 不过用input也可以 就 04/21 12:10
34F:→ charlie11438: 是variable=input('文字') 04/21 12:10
38F:→ charlie11438: sys.argv的原理大概像这样 为一list 也可以查找ind 04/21 12:29
39F:→ charlie11438: ex 执行命令後一串的参数将会分别存入。 04/21 12:29
41F:→ alubasteve: 给TitanEric,多谢你的协助,我把原本程式的第3行 04/21 13:11
42F:→ alubasteve: 改成search word=input(),就可输入想要搜寻的对象 04/21 13:12
43F:→ alubasteve: 然後形成html档案,只是输错名称就糗了 04/21 13:13
44F:→ alubasteve: 但请恕我才疏学浅,TitanEric+charlie114,我反而更不懂 04/21 13:14
45F:→ alubasteve: input和sys.argv为何有此差异,事实上我连charlie11438 04/21 13:16
46F:→ alubasteve: 给的范例都看不懂,不,根本大家的都看不懂,我只能猜测 04/21 13:17
47F:→ alubasteve: 使用input之後,input变成在命令提示字元可以输入字词 04/21 13:19
48F:→ alubasteve: 的理由,但我还是无法理解原本少了什麽 04/21 13:28
49F:→ alubasteve: 例如"命令提示字元执行时後面要加入参数,也就是" 04/21 13:30
50F:→ alubasteve: "python *. py [你要加的参数]",抱歉还是看不懂 04/21 13:31
51F:推 charlie11438: 要打的东西有点多,已经变成一篇文章,你再看看。 04/21 13:54