• 大小: 51KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: Python
  • 标签: python  爬虫  

资源简介

基于python 的B站用户数据爬虫

资源截图

代码片段和文件信息

# -*-coding:utf8-*-

import requests
import json
import MySQLdb
from multiprocessing.dummy import Pool as ThreadPool
import sys
import datetime
import time

def datetime_to_timestamp_in_milliseconds(d):
    current_milli_time = lambda: int(round(time.time() * 1000))
    return current_milli_time()


reload(sys)

sys.setdefaultencoding(‘utf-8‘)

urls = []

head = {
    ‘User-Agent‘: ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML like Gecko) Chrome/52.0.2743.116 Safari/537.36‘
    ‘X-Requested-With‘: ‘xmlHttpRequest‘
    ‘Referer‘: ‘http://space.bilibili.com/873981/‘
    ‘Origin‘: ‘http://space.bilibili.com‘
    ‘Host‘: ‘space.bilibili.com‘
    ‘AlexaToolbar-ALX_NS_PH‘: ‘AlexaToolbar/alx-4.0‘
    ‘Accept-Language‘: ‘zh-CNzh;q=0.8en;q=0.6ja;q=0.4‘
    ‘Accept‘: ‘application/json text/javascript */*; q=0.01‘
}

time1 = time.time()
for i in range(873981 873982):
    url = ‘http://space.bilibili.com/ajax/member/GetInfo?mid=‘ + str(i)
    urls.append(url)

# s = requests.Session()

proxies = {
        # ‘http‘: ‘120.198.231.87:84‘
        #‘https‘: ‘http://219.133.31.120:8888‘
}


def getsource(url):
    payload = {
        ‘_‘: datetime_to_timestamp_in_milliseconds(datetime.datetime.now())
        ‘mid‘: url.replace(‘http://space.bilibili.com/ajax/member/GetInfo?mid=‘ ‘‘)
    }

    print payload

    jscontent = requests.post(‘http://space.bilibili.com/ajax/member/GetInfo‘ headers=head  data=payload).content

    print(jscontent)

    time2 = time.time()
    jsDict = json.loads(jscontent)
    if jsDict[‘status‘] == True:
        jsData = jsDict[‘data‘]
        mid = jsData[‘mid‘]
        name = jsData[‘name‘]
        sex = jsData[‘sex‘]
        face = jsData[‘face‘]
        coins = jsData[‘coins‘]
        regtime = jsData[‘regtime‘]
        spacesta = jsData[‘spacesta‘]
        birthday = jsData[‘birthday‘]
        place = jsData[‘place‘]
        description = jsData[‘description‘]
        article = jsData[‘article‘]
        fans = jsData[‘fans‘]
        friend = jsData[‘friend‘]
        attention = jsData[‘attention‘]
        sign = jsData[‘sign‘]
        attentions = jsData[‘attentions‘]
        level = jsData[‘level_info‘][‘current_level‘]
        exp = jsData[‘level_info‘][‘current_exp‘]

        regtime_format = time.strftime(‘%Y-%m-%d %H:%M:%S‘ time.localtime(regtime))
        print “Succeed: “ + mid + “\t“ + str(time2 - time1)
        try:
            conn = MySQLdb.connect(host=‘localhost‘ user=‘root‘ passwd=‘‘ port=3306 charset=‘utf8‘)
            cur = conn.cursor()
            # cur.execute(‘create database if not exists python‘)
            conn.select_db(‘python‘)
            cur.execute(‘INSERT INTO bilibili_user_info VALUES (%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s)‘
                        [mid mid name sex face coins regtime_format spacesta birthday place description

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-01-04 15:48  bilibili-user\
     文件        7508  2017-01-04 15:48  bilibili-user\--codingutf8--.html
     目录           0  2016-12-06 16:12  bilibili-user\.git\
     文件         337  2016-12-06 16:12  bilibili-user\.git\config
     文件          73  2016-12-06 16:12  bilibili-user\.git\description
     文件          23  2016-12-06 16:12  bilibili-user\.git\HEAD
     目录           0  2016-12-06 16:12  bilibili-user\.git\hooks\
     文件         478  2016-12-06 16:12  bilibili-user\.git\hooks\applypatch-msg.sample
     文件         896  2016-12-06 16:12  bilibili-user\.git\hooks\commit-msg.sample
     文件         189  2016-12-06 16:12  bilibili-user\.git\hooks\post-update.sample
     文件         424  2016-12-06 16:12  bilibili-user\.git\hooks\pre-applypatch.sample
     文件        1642  2016-12-06 16:12  bilibili-user\.git\hooks\pre-commit.sample
     文件        1348  2016-12-06 16:12  bilibili-user\.git\hooks\pre-push.sample
     文件        4951  2016-12-06 16:12  bilibili-user\.git\hooks\pre-rebase.sample
     文件        1239  2016-12-06 16:12  bilibili-user\.git\hooks\prepare-commit-msg.sample
     文件        3611  2016-12-06 16:12  bilibili-user\.git\hooks\update.sample
     文件         352  2016-12-06 16:12  bilibili-user\.git\index
     目录           0  2016-12-06 16:12  bilibili-user\.git\info\
     文件         240  2016-12-06 16:12  bilibili-user\.git\info\exclude
     目录           0  2016-12-06 16:12  bilibili-user\.git\logs\
     文件         203  2016-12-06 16:12  bilibili-user\.git\logs\HEAD
     目录           0  2016-12-06 16:12  bilibili-user\.git\logs\refs\
     目录           0  2016-12-06 16:12  bilibili-user\.git\logs\refs\heads\
     文件         203  2016-12-06 16:12  bilibili-user\.git\logs\refs\heads\master
     目录           0  2016-12-06 16:12  bilibili-user\.git\logs\refs\remotes\
     目录           0  2016-12-06 16:12  bilibili-user\.git\logs\refs\remotes\origin\
     文件         203  2016-12-06 16:12  bilibili-user\.git\logs\refs\remotes\origin\HEAD
     目录           0  2016-12-06 16:12  bilibili-user\.git\objects\
     目录           0  2016-12-06 16:12  bilibili-user\.git\objects\0b\
     文件         165  2016-12-06 16:12  bilibili-user\.git\objects\0b\f21cc1bed3092cd56fdfdbf03db113767b016f
     目录           0  2016-12-06 16:12  bilibili-user\.git\objects\13\
............此处省略52个文件信息

评论

共有 条评论