@@ -18,7 +18,7 @@ class Bilibili
1818 "User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36 "
1919 ];//设置用户user-agent
2020
21- public $ spiderName = "Bilibili " ;
21+ public $ spider_name = "Bilibili " ;
2222
2323 public $ rank_type = [ //排行榜
2424 1 => 'day ' ,
@@ -46,11 +46,10 @@ class Bilibili
4646 ];
4747
4848 public $ category = [ //类别
49- 1 => null ,
49+ 1 => " all " ,
5050 2 => 'cos ' ,
5151 'sifu '
5252 ];
53- //https://api.vc.bilibili.com/link_draw/v2/Photo/list?category=cos&type=hot&page_num=1&page_size=20
5453
5554 /**
5655 * 掏空bilibili专用
@@ -72,13 +71,13 @@ public function fuckBilibili($spiderCore)
7271 } else {
7372 $ spider_date = date ('Y-m-d ' );
7473 }
75- while (true ) {
74+ while (true ) { //无限循环,直到报错停止
7675 $ spider_date = $ this ->getYesterday ($ spider_date );
7776 print_r ("开始获取: " . $ spider_date . PHP_EOL );
7877 //封装请求链接
7978 @$ parm = "biz= " . $ biz . "&category= " . $ this ->category [$ category ] . "&rank_type= " . $ this ->rank_type [$ rank_type ] . "&date= " . $ spider_date . "&page_num=0&page_size=50 " ;
8079 $ url = "http://api.vc.bilibili.com/link_draw/v2/Doc/ranklist? " . $ parm ;
81- // print_r(PHP_EOL . "爬取的参数为 :" . $parm . PHP_EOL);
80+ // print_r(PHP_EOL . "爬取的URL为 :" . $parm . PHP_EOL);
8281 //下载
8382 $ result = $ spiderCore ->curl_get ($ url , $ this ->userAgent );
8483 $ result = json_decode ($ result );
@@ -113,8 +112,18 @@ public function allImages($spiderCore)
113112 $ posts_num = $ spiderCore ->user_input ("请输入爬取页数(1页=20个作品)(默认为:1): " , 1 );
114113 $ posts_num --; //bilibili第一页居然是0,其他页面又不一样
115114
115+ if ($ biz == 'Photo ' ) {
116+ $ category = $ this ->category [$ this ->quick_input ($ spiderCore , "请选择板块(默认为 2 Cos ): " , $ this ->category , "没有这种板块 " , '2 ' )];
117+ !empty ($ category ) ?: $ category = "all " ;
118+ } else {
119+ $ category = "all " ;
120+ }
121+
116122 for ($ i = 0 ; $ i <= $ posts_num ; $ i ++) {
117- $ url = "https://api.vc.bilibili.com/link_draw/v2/ " . $ biz . "/list?category=all&type= " . $ mode . "&page_num= " . $ i . "&page_size=20 " ;
123+ $ url = "https://api.vc.bilibili.com/link_draw/v2/ " . $ biz . "/list?category= " . $ category .
124+ "&type= " . $ mode .
125+ "&page_num= " . $ i .
126+ "&page_size=20 " ;
118127 $ result = $ spiderCore ->curl_get ($ url , $ this ->userAgent );
119128 $ result = json_decode ($ result );
120129 $ images_arr = $ this ->get_images ($ result );
@@ -217,7 +226,7 @@ public function search($spiderCore)
217226 */
218227 public function quick_input ($ spiderCore , $ string , $ array , $ exit_string , $ default )
219228 {
220- $ spiderCore ->bMenu ($ array ,$ this ->spiderName );
229+ $ spiderCore ->bMenu ($ array , $ this ->spider_name );
221230 $ input = $ spiderCore ->user_input ($ string , $ default );
222231 if (@empty ($ array [$ input ])) {
223232 die ($ exit_string );
@@ -286,6 +295,6 @@ public function top50($spiderCore)
286295
287296$ bilibili = new Bilibili ();
288297
289- $ spiderCore ->bMenu ($ bilibili ->mode ,$ bilibili ->spiderName );
298+ $ spiderCore ->bMenu ($ bilibili ->mode , $ bilibili ->spider_name );
290299$ mode = $ spiderCore ->user_input (PHP_EOL . "请选择你需要使用的模式: " , null );
291300@empty ($ user_mode = $ bilibili ->mode [$ mode ]) ? die (PHP_EOL . '没有这个爬虫模式 ' ) : $ bilibili ->$ user_mode ($ spiderCore ); //调用爬虫,并传入公用function
0 commit comments