Pythonの爬虫類収集ホットリストデータ今日:ネットワーク全体のホットスポットランキングの集計

主な用途要求ライブラリーと今日ホットリストbeautifulSoupデータをクロールライブラリ。

 

 

 

 

 

特定のコードの実装:

1つの インポート要求
 2  から BS4のインポートBeautifulSoup
 3  インポート時間
 4頭の インポートパンダ
 5  インポート6  
7  DEF :get_html(URL)
 8つの      ヘッダー= { ' ユーザーエージェント'' のAppleWebKit /のMozilla / 5.0(; Win64のx64のWindows NTの10.0) 537.36(KHTML、ヤモリ等)クローム/ 80.0.3987.132サファリ/ 537.36 ' }
 9      RESP = requests.get(URL、ヘッダー= ヘッダ)
 10      リターンresp.text
 11  
12  
13 DEF get_data(HTML):
 14      スープ= BeautifulSoup(HTML、' html.parser ' 15      ノード= soup.find_all(' DIV '、class_が= ' CC-CD ' 16      リターンノード
 17  
18  
19  DEF get_node_data(DF、ノード):
 20      今= INT(time.time())
 21      のためのノードノード:
 22          ソース= node.find(' DIV '、class_が= ' CC-CD-LB ').text.strip()
 23の          メッセージ= node.find(' DIV '、class_が= ' CC-CD-CB-Lナノコンテンツ').find_all(' ' 24 のためのメッセージメッセージ:
 25              コンテンツ=メッセージ.find(' スパン'、class_が= ' T ' ).text.strip()
 26 であれば、ソース== ' 微信' 27                  REG = ' 「?+」(。+)' 28                  コンテンツ=                      
re.findall(REG、コンテンツ)[0]
 29  
30              なら df.empty 又は DF [df.content == コンテンツ] .empty:
 31件の                  データ= {
 32                      ' コンテンツ' :[コンテンツ]、
 33                      ' URL ':[メッセージ【' HREF ' ]]、
 34                      ' ' :[ソース]、
 35                      ' START_TIME ' :[今]、
 36                      ' END_TIME ' :[今]
 37                  }
 38  
39                  アイテム=pandas.DataFrame(データ)
 40                  DF = pandas.concat([DF、項目]、ignore_index = TRUE)
 41  
42              43                  インデックス= DF [df.content == コンテンツ] .INDEX [0]
 44                  df.at [インデックス、' END_TIME ' ] = 45  
46      リターンDF
 47  
48  
49 URL = ' https://tophub.today ' 
50 HTML = get_html(URL)
 51件のデータ= get_data(HTML)
 52 RES = pandas.read_excel(今日热榜.xlsx' 53は、 RES = (RES、データ)get_node_data
 54は res.to_excel(' 今日のビルボードの.xlsx '

 

 

 

おすすめ

転載: www.cnblogs.com/Kelly1225/p/12523629.html