资讯专栏INFORMATION COLUMN

使用Scrapy抓取新浪微博用户信息

Cruise_Chan / 2414人阅读

摘要:详细代码可查看数据的来源是新浪微博的手机端页面个人资料用户发出的微博用户页数从开始

详细代码可查看Knowsmore

数据的来源是新浪微博的手机端H5页面

个人资料API:https://m.weibo.cn/profile/in...【用户ID】

发出的微博API:https://m.weibo.cn/api/contai...【用户ID】_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=【页数从1开始】

# -*- coding: utf-8 -*-
import scrapy
import re
import json
import os,sys
from scrapy import Selector, Request
from knowsmore.items import WeiboUserItem, WeiboStatusItem
from ..common import *
from ..model.mongodb import *

WEIBO_USER_CONFIG = {
    "BASE_URL" : "https://m.weibo.cn",
    "USER_IDS" : ["6883966016"]
}

class WeiboUserSpider(scrapy.Spider):

    name = "weibo_user"

    def start_requests(self):
        for uid in WEIBO_USER_CONFIG["USER_IDS"]:
            url = "%s/profile/info?uid=%s" % (WEIBO_USER_CONFIG["BASE_URL"], uid)
            yield Request(url)
            # Define your statuses implementation here, just a demo below
            for i in range(1, 2):
                status_url = "%s/api/container/getIndex?containerid=230413%s_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=%d" % (WEIBO_USER_CONFIG["BASE_URL"], uid, i)
                yield Request(status_url, callback=self.parse_status)

    # https://m.weibo.cn/profile/1784537661
    def parse(self, response):
        user_data = json.loads(response.text)
        yield WeiboUserItem(
            fans_url = user_data["data"]["fans"],
            follow_url = user_data["data"]["follow"],
            more_url = user_data["data"]["more"],
            user = user_data["data"]["user"]
        )

    # https://m.weibo.cn/api/container/getIndex?containerid=2304131784537661_-_WEIBO_SECOND_PROFILE_WEIBO&page_type=03&page=2
    def parse_status(self, response):
        status_data = json.loads(response.text)
        yield WeiboStatusItem(
            cards = status_data["data"]["cards"]
        )

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19465.html

相关文章

  • 使用Scrapy抓取新浪微博用户信息

    摘要:详细代码可查看数据的来源是新浪微博的手机端页面个人资料用户发出的微博用户页数从开始 详细代码可查看Knowsmore 数据的来源是新浪微博的手机端H5页面 个人资料API:https://m.weibo.cn/profile/in...【用户ID】发出的微博API:https://m.weibo.cn/api/contai...【用户ID】_-_WEIBO_SECOND_PROFILE...

    dingding199389 评论0 收藏0
  • 23个Python爬虫开源项目代码,包含微信、淘宝、豆瓣、知乎、微博

    摘要:今天为大家整理了个爬虫项目。地址新浪微博爬虫主要爬取新浪微博用户的个人信息微博信息粉丝和关注。代码获取新浪微博进行登录,可通过多账号登录来防止新浪的反扒。涵盖链家爬虫一文的全部代码,包括链家模拟登录代码。支持微博知乎豆瓣。 showImg(https://segmentfault.com/img/remote/1460000018452185?w=1000&h=667); 今天为大家整...

    jlanglang 评论0 收藏0
  • 零基础如何学爬虫技术

    摘要:楚江数据是专业的互联网数据技术服务,现整理出零基础如何学爬虫技术以供学习,。本文来源知乎作者路人甲链接楚江数据提供网站数据采集和爬虫软件定制开发服务,服务范围涵盖社交网络电子商务分类信息学术研究等。 楚江数据是专业的互联网数据技术服务,现整理出零基础如何学爬虫技术以供学习,http://www.chujiangdata.com。 第一:Python爬虫学习系列教程(来源于某博主:htt...

    KunMinX 评论0 收藏0
  • 利用新浪API实现数据的抓取微博数据爬取微博爬虫

    摘要:本人长期出售超大量微博数据旅游网站评论数据,并提供各种指定数据爬取服务,。如果用户传入伪造的,则新浪微博会返回一个错误。 PS:(本人长期出售超大量微博数据、旅游网站评论数据,并提供各种指定数据爬取服务,Message to YuboonaZhang@Yahoo.com。由于微博接口更新后限制增大,这个代码已经不能用来爬数据了。如果只是为了收集数据可以咨询我的邮箱,如果是为了学习爬虫,...

    liuyix 评论0 收藏0

发表评论

0条评论

Cruise_Chan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<