模拟ajax请求爬取微博
2024-08-29 17:01:28
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/9/26 10:26
# @Author : Sa.Song
# @Desc : 抓取崔庆才微博, 模拟ajax请求
# @File : weiBo.py
# @Software: PyCharm import requests
from urllib.parse import urlencode
from pyquery import PyQuery as pq
headers = {
'Accept':'application/json, text/plain, */*',
'Referer':'https://m.weibo.cn/u/2830678474',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',
'X-Requested-With':'XMLHttpRequest',
}
base_url = 'https://m.weibo.cn/api/container/getIndex?' def get_page(page): #page是分页
parms = {
'type':'uid',
'value':'',
'containerid':'',
'page':page
}
url = base_url + urlencode(parms)
try:
response = requests.get(url=url, headers=headers)
if response.status_code == 200:
return response.json()
except Exception as e:
print('报错:', e) def parse_message(json):
weibo_data = []
if json:
items = json.get('data').get('cards')
for item in items:
item = item.get('mblog')
if item == None:
continue
else:
weibo_message = {}
weibo_message['id'] = item.get('id')
weibo_message['text'] = pq(item.get('text')).text()
weibo_data.append(weibo_message)
print(weibo_data) if __name__ == '__main__':
for i in range(100):
json = get_page(i)
parse_message(json)
最新文章
- MPAndroidChart 3.0——LineChart(折线图)
- android 多媒体数据库(非原创)
- CSS 问题集锦
- money 转换成 varchar
- 每次都觉得很神奇的JS
- java生成随机整数
- CCCardinalSplineBy概念
- SpringMVC 中整合之JSON、XML
- 笔记-linux下Qt5.3.2 静态编译
- c# 数据库编程(利用DataSet 和 DataAdaper对象操作数据库--跨表操作)
- python selenium基本
- 自己开发图表插件,脱离echart
- 闭包中this指向window的原因
- Python 安装包的导入
- 基于Nginx和Zookeeper实现Dubbo的分布式服务
- 002 python准备做题的一些准备
- 在.NET程序中实现HttpServer功能
- MapReduce分布式算法
- FJUT16级第一周寒假作业题解G题
- [转]redis的三种启动方式
热门文章
- Hive进阶_Hive数据的导入
- Spring-boot原理(附带实现一个spring-boot-starter实例和代码下载)
- UIcollectionView 实现 轮番图
- Java实现将GBK编码格式的文件夹中所有文件都转化为UTF-8格式的文件,编码格式转化
- postgresql 存储过程动态插入数据 2
- 变更gcc版本
- ImageLoader常用方法注释
- python3操作excel02(对excel的基础操作,进行简单的封装)3
- MovieReview—Black Panther(黑豹)
- CF Gym 100637K 	Microcircuits (DP)