-
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
Methods
121 | 122 | 123 | 124 | 125 | 126 | 127 |for_each_page_in_list(type, titleopt, for_each_page, optionsopt) → {Promise}
128 | 129 | 130 | 131 | 132 | 133 | 134 |-
135 |
136 |
137 |
- Source: 138 |
- 139 | wikiapi.js, line 1158 140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
158 | - Deprecated:
- Please use Wikiapi_list.
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
Example
193 | 194 |List all redirected categories
195 | 196 |// <code>
197 | await wiki.for_each_page_in_list('allredirects', page_data => console.log('page_data: ', page_data), { namespace: 'Category' });
198 | // </code>
199 |
200 |
201 |
202 |
203 | Parameters:
204 | 205 | 206 |Name | 211 | 212 | 213 |Type | 214 | 215 | 216 |Attributes | 217 | 218 | 219 | 220 | 221 |Description | 222 |
---|---|---|---|
type |
231 |
232 |
233 | 234 | 235 | 236 | String 237 | 238 | 239 | 240 | | 241 | 242 | 243 |244 | 245 | 246 | 247 | 248 | 249 | | 250 | 251 | 252 | 253 | 254 |list type | 255 |
title |
262 |
263 |
264 | 265 | 266 | 267 | String 268 | 269 | 270 | 271 | | 272 | 273 | 274 |
275 |
276 | <optional> 277 | 278 | 279 | 280 | 281 | 282 | |
283 |
284 |
285 |
286 |
287 | page title if necessary. | 288 |
for_each_page |
295 |
296 |
297 | 298 | 299 | 300 | function 301 | 302 | 303 | 304 | | 305 | 306 | 307 |308 | 309 | 310 | 311 | 312 | 313 | | 314 | 315 | 316 | 317 | 318 |Executing for each page. | 319 |
options |
326 |
327 |
328 | 329 | 330 | 331 | Object 332 | 333 | 334 | 335 | | 336 | 337 | 338 |
339 |
340 | <optional> 341 | 342 | 343 | 344 | 345 | 346 | |
347 |
348 |
349 |
350 |
351 | options to run this function. | 352 |
Returns:
374 | 375 | 376 | 377 | 378 |-
379 |
- 380 | Type 381 | 382 |
- 383 | 384 | Promise 385 | 386 | 387 | 388 |
Wikiapi_list()
400 | 401 | 402 | 403 | 404 | 405 | 406 |-
407 |
408 |
409 |
- Source: 410 |
- 411 | wikiapi.js, line 1083 412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
Please refer to all supported types (search "get_list.type ="). 452 |
Examples
463 | 464 |get list of [[w:en:Category:Chemical_elements]]
465 | 466 |// <code>
467 | const wiki = new Wikiapi;
468 | let page_list = await wiki.categorymembers('Chemical elements');
469 | console.log(page_list);
470 | // Working on multiple pages
471 | await wiki.for_each_page(
472 | // {Array} title liat / page data list
473 | page_list,
474 | page_data => {
475 | // ...
476 | });
477 | // </code>
478 |
479 | get pages transcluding {{w:en:Periodic table}}
480 | 481 |// <code>
482 | const wiki = new Wikiapi;
483 | let page_list = await wiki.embeddedin('Template:Periodic table');
484 | console.log(page_list);
485 | // </code>
486 |
487 | Process each page of the category.
488 | 489 |// <code>
490 | // Get the list of all pages at once first.
491 | const page_list = await wiki.categorymembers('Category:Articles not listed in the vital article list');
492 | await page_list.each((page_data) => { }, options);
493 |
494 | // Imperative code, for huge pages. 用於巨量的頁面。
495 | for await (const page_data of wiki.categorymembers('Category:Articles not listed in the vital article list')) {
496 | console.trace(`page_data #${count}:`, page_data);
497 | }
498 |
499 | // Declarative code(?), for huge pages.
500 | await wiki.categorymembers('Category:Articles not listed in the vital article list', {
501 | for_each_page(page_data) {
502 | console.log('page_data:', page_data);
503 | }
504 | });
505 |
506 | await wiki.allpages({
507 | async for_each_slice(page_list) {
508 | }
509 | });
510 |
511 | // </code>
512 |
513 | Process all pages.
514 | 515 |// <code>
516 | let count = 0;
517 | for await (const page_data of wiki.allpages({ namespace: 'Talk', apfrom: wiki.remove_namespace('ABC') })) {
518 | console.trace(`page_data #${count}:`, page_data);
519 | if (++count > 5) break;
520 | }
521 | console.log('Done.');
522 | // </code>
523 |
524 | Process all pages with batch_size.
525 | 526 |// <code>
527 | let count = 0;
528 | for await (const page_list of wiki.allpages({ namespace: 'Talk', apfrom: wiki.remove_namespace('ABC'), batch_size: 5 })) {
529 | console.trace('page_list:', page_list);
530 | if (++count > 2) break;
531 | }
532 | console.log('Done.');
533 | // </code>
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
552 |
553 |
554 |
555 |
556 |
557 |
558 |
559 |
560 |
561 |