美文网首页
Pyton利用Ajax提取微博

Pyton利用Ajax提取微博

作者: 我的袜子都是洞 | 来源:发表于2018-10-26 15:03 被阅读4次

提取马云微博

from urllib.parse import urlencode
import requests
from pyquery import PyQuery as pq

max_page = 14

base_url = 'https://m.weibo.cn/api/container/getIndex?'
headers = {
    'Host': 'm.weibo.cn',
    'Referer': 'https://m.weibo.cn/u/2145291155',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
}

def get_page(page):
    params = {
        'type': 'uid',
        'value': '2145291155',
        'containerid': '1076032145291155',
        'page': page
    }
    url = base_url + urlencode(params)
    try:
        response = requests.get(url, headers=headers)
        if response.status_code == 200:
            return response.json()
    except requests.ConnectionError as e:
        print('Error', e.args)

def parse_page(json):
    if json:
        data = json.get('data')
        cards = data.get('cards')
        for item in cards:
            mblog = item.get('mblog')
            weibo = {}
            weibo['created_at'] = mblog.get('created_at')
            weibo['text'] = pq(mblog.get('text')).text()
            weibo['attitudes'] = mblog.get('attitudes_count')
            weibo['comments'] = mblog.get('comments_count')
            weibo['reposts'] = mblog.get('reposts_count')
            yield weibo

if __name__ == '__main__':
    for page in range(1,max_page +1):
        json = get_page(page)
        results = parse_page(json)
        for result in results:
            print(result)

修改成提取自己的微博

from urllib.parse import urlencode
import requests
from pyquery import PyQuery as pq

max_page = 14

base_url = 'https://m.weibo.cn/api/container/getIndex?'
headers = {
    'Host': 'm.weibo.cn',
    'Referer': 'https://m.weibo.cn/u/2145291155',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
}

def get_page(page):
    params = {
        'type': 'uid',
        # 用户uid
        'value': '1583624660',
        # 这个对应的值也需要更改
        'containerid': '1076031583624660',
        'page': page
    }
    url = base_url + urlencode(params)
    try:
        response = requests.get(url, headers=headers)
        if response.status_code == 200:
            return response.json()
    except requests.ConnectionError as e:
        print('Error', e.args)

def parse_page(json):
    if json:
        data = json.get('data')
        cards = data.get('cards')
        for item in cards:
            mblog = item.get('mblog')
            weibo = {}
            weibo['created_at'] = mblog.get('created_at')
            weibo['text'] = pq(mblog.get('text')).text()
            weibo['attitudes'] = mblog.get('attitudes_count')
            weibo['comments'] = mblog.get('comments_count')
            weibo['reposts'] = mblog.get('reposts_count')
            yield weibo

if __name__ == '__main__':
    for page in range(1,max_page +1):
        json = get_page(page)
        results = parse_page(json)
        for result in results:
            print(result)

相关文章

  • Pyton利用Ajax提取微博

    提取马云微博 修改成提取自己的微博

  • Ajax

    Ajax知识点; AJAX是一种用于创建快速动态网页的技术;从后台提取数据利用创建动态节点,把后台数据展示在页面中...

  • 在微商如何把水果推广出去呢?怎么引流

    利用微博可以传播品牌,提高知名度;利用微博推广商品,获得收益;利用微博发表看法、输出高质量的文章,受益匪浅;利用微...

  • Python功能太强大,我劝你最好别学 !

    基于Requests和Ajax分析法的新浪微博内容及用户信息爬取 1 项目介绍 新浪微博:新浪微博是一个由新浪网推...

  • (一)实践JavaScript之index页面加载

    实现一个微博功能: 前端用 ajax 发送 HTTP 请求到后端 后端 API操作元素 ajax 跨域在当前,js...

  • Ajax封装(jQuery风格)

    AJAX原理: ajax利用XMLHttprequest()方法创建一个对象,之后利用open()方法进行请求属性...

  • 微商如何利用腾讯微博快速获得百度排名

    微商如何利用腾讯微博快速获得百度排名 今天来和大家分享的方法就是如何利用如果利用腾讯微博快速获得百度排名。 那么我...

  • face14ajax基础内容

    ajax基础内容 ajax技术利用了 什么协议?简述ajax的工作机制 写出jquery中,可以处理ajax的几种...

  • 如何利用微博赚钱?

    微博是一种很好的方式来支持你的商业网站,互联网营销,和客户沟通。首先,让我们先看一下微博是什么,然后我们可以...

  • Ajax url中文参数问题

    今天学习了Ajax,利用Ajax无刷新检查用户名是否存在,代码如下: 利用XMLHttpRequest对象向后台传...

网友评论

      本文标题:Pyton利用Ajax提取微博

      本文链接:https://www.haomeiwen.com/subject/mxzktqtx.html