用python爬虫爬B站用户,只能爬出来一条数据,跪求大神帮看看!

shizuka1990 2017-02-02 11:47:43
这是其中一小部分代码,怕看不清,右边截掉了一点

无论如何只能爬出一条用户,比如下面这样:


b站用户uid应该是连续的吧,明明迭代了,前面那些去哪了。。。
...全文
1037 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
python3.7.0 2019-12-20
  • 打赏
  • 举报
回复
网页不存在了
sanGuo_uu 2017-02-02
  • 打赏
  • 举报
回复
我试了一下,链接没问题,能出数据。 后来看了下代码,发现问题比较明显,是循环的问题。
for i in range(6758258, 13705128):
    url = 'http://space.bilibili.com/ajax/member/GetInfo?mid=' + str(i)
urls.append(url)
你“urls.append”没有缩进,也就是循环不断给url赋新值,最后urls里只有最后一条数据。
hijack00 2017-02-02
  • 打赏
  • 举报
回复
for i in range(6758258, 13705128): url = 'http://space.bilibili.com/ajax/member/GetInfo?mid=' + str(i) urls.append(url) 这个语句块有问题,你把urls.append(url)放到循环外面了,导致只执行了一次,应该修改为: for i in range(6758258, 13705128): url = 'http://space.bilibili.com/ajax/member/GetInfo?mid=' + str(i) urls.append(url)
shizuka1990 2017-02-02
  • 打赏
  • 举报
回复
不死心,把前半部分代码全贴上来 #-*- coding:UTF-8 -*- import MySQLdb import requests import json from multiprocessing.dummy import Pool as ThreadPool import sys import datetime import time def datetime2timestamp_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/6758258/', 'Origin': 'http://space.bilibili.com', 'Host': 'space.bilibili.com', 'AlexaToolbar-ALX_NS_PH': 'AlexaToolbar/alx-4.0', 'Accept-Language': 'zh-CN,zh;q=0.8,en;q=0.6,ja;q=0.4', 'Accept': 'application/json, text/javascript, */*; q=0.01', } for i in range(6758258, 13705128): 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 = { '_': datetime2timestamp_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) jsDict = json.loads(jscontent) if jsDict['status'] == True: jsData = jsDict['data'] mid = jsData['mid'] name = jsData['name'] sex = jsData['sex'] coins = jsData['coins'] regtime = jsData['regtime'] birthday = jsData['birthday'] place = jsData['place'] article = jsData['article'] fans = jsData['fans'] friend = jsData['friend'] attention = jsData['attention'] 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"

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧