原生爬取熊貓平台的資料

2021-08-27 21:17:21 字數 1979 閱讀 2044

from urllib import request

import re

class

reptile

(object):

url_pattern = '([\s\s]*?)

' url_name = '([\s\s]*?)'

url_number = '([\s\s]*?)'

url_station_num = '([\s\s]*?)'

#獲取網頁資訊

defread_html

(self,urls):

r = request.urlopen(urls)

html = r.read().decode("utf-8")

return html

#利用正規表示式,獲取房間名、人氣值、人數

deffetch_html

(self,new_html):

dictor11 =

fetch_html = re.findall(reptile.url_pattern,new_html)

for v in fetch_html:

name = re.findall(reptile.url_name,v)

number = re.findall(reptile.url_number,v)

station_num = re.findall(reptile.url_station_num,v)

dictor =

return dictor11

#去掉空格符

defwipe_html

(self,wipes):

l = lambda wipe:

return list(map(l,wipes))

#按照人氣值,對房主排序

defrank

(self,wipe):

result = sorted(wipe, key=self.sort_rank, reverse=true)

return result

#對人氣值資料進行處理

defsort_rank

(self,wipe1):

sort_num = re.findall('\d*',wipe1['number'])

sort_d = float(sort_num[0])

if'萬'in wipe1['number']:

sort_d *= 10000

return sort_d

#展現資料

defshow_rank

(self,rank_result):

for v in range(0,len(rank_result)):

#各個函式之間的呼叫

defgo

(self):

category_list = ['lol', 'fortnite', 'hearthstone',

'overwatch', 'dota1', 'dota2', 'cod15', 'war3', 'cf', 'csgo', 'heroes', 'starcraft', 'boardgames', 'artifact']

for url_list in category_list:

print('*'*30+str(url_list)+'*'*30)

url = ""+str(url_list)

new_htmls = self.read_html(url)

fetch_htmls = self.fetch_html(new_htmls)

wipe =list(self.wipe_html(fetch_htmls))

rank_result = self.rank(wipe)

self.show_rank(rank_result)

print("\n")

#例項化類,呼叫方法

reptile = reptile()

reptile.go()

Scrapy Mongodb爬取資料

scrapy爬蟲資料存到mongodb中 其實主要是前兩步 1 在settings.py中進行配置 item pipelines mongodb host 127.0.0.1 mongodb port 27017 mongodb dbname spider1 mongodb docname book...

Python資料爬取

二.scrapy爬蟲框架 資料 網路資料採集模型 第三方庫實現爬取 pyspider爬蟲框架 scrapy爬蟲框架 安裝scrapy 配置scrapy環境變數 建立scrapy專案的命令 建立spider 使用python指令碼執行命令列啟動爬蟲 from scrapy.cmdline import...

使用Python原生爬蟲爬取部落格文章的簡單資訊

今天我們使用python的原生方式,來爬取我們自己的部落格的一些簡單資訊。在製作乙個簡單的python爬蟲之前,我們需要先分析一下我們需要使用爬蟲來爬取什麼資訊,又該通過什麼方式來解析出我們所需要的資訊。為了便於封裝爬取的資訊,我們在article.py模組下建立乙個資訊類,裡面封裝了我們需要爬取的...