Python Reptil kleine Anwendungen

A, B-Station Teilnehmerinformation Krabbeln

  Die Crawling 10.01 b Station des Benutzers persönliche Informationen, darunter einen Spitznamen, Geschlecht, Kopf, um die Anzahl der Fans, die Anzahl der Spieler und dergleichen.

1  Import Requests
 2  Import JSON
 3.  Import OS
 4.  
5.  
6. Vip_type = {0: ' normaler Benutzer ' , 1: " kleines Mitglied " , 2: " Große Mitglieder ' }
 . 7 headers = {
 8.      ' Das Referer ' : ' https: // space.bilibili.com ' . 9 ' die User-- - Agent ' : ' die Mozilla / 5.0 (Windows NT 10.0; die WOW64) AppleWebKit / 537,36 (KHTML, wie der Gecko) das Chrom / 79.0.3945.130 Safari / 537,36 '     
10  }
 . 11  
12 ist  DEF download_face (URL, MID, Name):
 13      ' '' Download Avatar ''' 
14      Print ( ' den Benutzer Avatar Download ... ' )
 15      IF  Nicht os.path.exists ( ' B Station user avatar ' ):
 16          os.mkdir ( ' B Station user avatar ' ) # ein Verzeichnis für avatar erstellen . 
17      IMG = requests.get (URL, headers = Header) .content # erhält einen binären Quellenkopf 
18 ist      mit Open ( ' B Station user avatar /{}_{}.jpg ' .format (MID, Name), 'wb' ) Als F:
 . 19          f.write (IMG)
 20  
21 ist  DEF get_user_ele_info (URL):
 22      ''' erhalten Informationen über Benutzer '' ' 
23 ist      jsonData = requests.get (URL) .json () [ ' Daten ' ]
 24      jsonData = MID [ ' MID ' ]
 25      name = jsonData [ ' name ' ]
 26      Geschlecht = jsonData [ ' Sex ' ]
 27      Ebene = jsonData [ ' Stufe ']
 28      Zeichen = jsondata [' Sign ' ]
 29      Amts = jsonData [ ' Official ' ] [ ' title ' ]
 30      vip_num = jsonData [ ' VIP ' ] [ ' Typ ' ]
 31 ist      face_url = jsonData [ ' Gesicht ' ]
 32      download_face (face_url, MID, name) #
 33 ist      Print ( ' user die UID: {} ' .format (MID))
 34      Druck ( ' user name: {} ' .format (name))
35      Print ( ' Geschlecht: {} ' .format (Sex))
 36      Drucken ( ' User Level: {} ' .format (Stufe))
 37 [      Print ( ' Benutzer Typ: {} ' .format (vip_type.get (vip_num )))
 38      Druck ( ' Benutzer Unterschrift: {} ' .format (Zeichen))
 39      drucken ( ' user offizielle Zertifizierung: {} ' .format (offiziell))
 40  
41 ist  DEF get_user_follow (URL):
 42      ' '' __jp3 erhalten die Benutzer besorgt über die Zahl und die Anzahl der Fans ' ‚‘ 
43     [. 6: -1] = requests.get text_data (URL, headers = Header) .text # STR 
44      # erworben Nicht - Standard - json - Datenformat, was die Zeichenfolge Abfangen Betrieb tun redundante Daten entfernen 
45      jsonData = json. Lasten (text_data) # mit json Paket an Zeichenfolge nachgeladenen wird dict Typ 
46      Daten jsonData = [ ' Daten ' ]   
 47      folgende Daten = [ ' folgende ' ]
 48      Folger = Daten [ ' Folgers ' ]
 49      Druck ( " user Folgenummer: {} ' .format (nach))
 50      drucken ( ' Benutzer Anzahl der Fans: {}' .Format (Nachfolger))
 51  
52 ist  DEF get_user_achieve (URL):
 53      ''' __jp4 Leistungen erworben Benutzer, wie die Anzahl der Fans, ist berechtigt , wie Zahlen, die Zahl der anderen Spieler '' ' 
54 ist      text_data = requests.get (URL, headers = Header ) .text [6:. -1 ] 
 55      jsonData = json.loads (text_data) 
 56      Daten jsonData = [ ' Daten ' ]
 57 ist      VIDEO_VIEWS = Daten [ ' Archiv ' ] [ ' Ansicht ' ]
 58      Likes = Daten [ ' Likes ' ]
 59      drucken ( 'Wie die Anzahl der Benutzer berechtigt: {} ' .format (Likes))
 60      Drucken ( ' User - Video Player Nummer: {} ' .format (VIDEO_VIEWS))
 61  
62  
63 ist  DEF main ():
 64      für I in Reichweite (1,11 ) :
 65          url_ele_info = ' https://api.bilibili.com/x/space/acc/info?mid={}&jsonp=json ' .format (I)
 66          url_follow = ' https://api.bilibili.com/ X / Relation / STAT? VMID = {} = & JSONP JSONP der Rückruf & JP3 = __ ' .format (I)
 67          url_achieve = 'https://api.bilibili.com/x/space/upstat?mid={}&jsonp=jsonp&callback=__jp4 ' .format (i)
 68          get_user_ele_info (url_ele_info)
 69          get_user_follow (url_follow)
 70          get_user_achieve (url_achieve)
 71          Druck ( ' - ' * 100 )
 , 72          
73 ,  wenn  __name__ == ' __main__ ' :
 74      main ()

Das Ergebnis:

Benutzeravatar:

 

II.

Fortgesetzt werden. . .

Ich denke du magst

Origin www.cnblogs.com/wangyi0419/p/12612558.html
Empfohlen
Rangfolge