Ajax

Ajax,即异步的JaveScript和XML。它不是一门编程语言,而是利用JaveScript在保证页面不被刷新,页面链接不改变的情况下与服务器交换数据并更新部分网页的技术。

对于传统的网页,如果想要更新内容,那么必须要刷新整个页面,但有了Ajax,便可以在页面不被刷新的基础上更新其内容。

比如像微博有些网页就是采取的Ajax技术来进行部分网页内容的刷新。

接下来我们就通过Ajax来爬取某知名博主的全部微博内容,及其各条微博的点赞数,评论数等内容。

from urllib.parse import urlencode                           2 import requests
3 from pyquery import PyQuery as pq
4 base_url = " https://m.weibo.cn/api/container/getIndex?"
5 headers = {
6 "authority":"m.weibo.cn",
7 "referer":"https://m.weibo.cn/u/2830678474",
8 "user-agent":"Mozilla/5.0 (X11; Linux x86_64) Apple WebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safar i/537.36",
9 "x-requested-with":"XMLHttpRequest",
10 }
11 since_id = 0
12 def no_since_id():
13 global since_id
14 params = {
15 "type":"uid",
16 "value":"2830678474",
17 "containerid":"1076032830678474"
18 }
19 url = base_url + urlencode(params)
20 response = requests.get(url,headers = headers)
21 json = response.json()
22 since_id = json.get("data").get("cardlistInfo").get("si nce_id")
23 return response.json()
24
25 def get_since_id():
26 global since_id
27 params = {
28 "type":"uid",
29 "value":"2830678474",
30 "containerid":"1076032830678474",
31 "since_id":since_id
32 }
33 url = base_url + urlencode(params)
34 response = requests.get(url,headers = headers)
35 json = response.json()
36 since_id = json.get("data").get("cardlistInfo").get("si nce_id")
37 return response.json()
38
39
40 def parse_since_id(json):
if json:
42 items = json.get("data").get("cards")
43 for item in items:
44 item = item.get("mblog")
45 weibo = {}
46 weibo["id"] = item.get("id")
47 weibo["text"] = pq(item.get("text")).text()
48 weibo["attitudes"] = item.get("attitudes_count" )
49 weibo["comment_count"] = item.get("comments_cou nt")
50 yield weibo
51
52 if __name__ == "__main__":
53 json = no_since_id()
54 results1 = list(parse_since_id(json))
55 count = 0
56 while count < 20:#原则上可以无限爬取,但考虑到时间只爬> 取400条微博内容
57 json = get_since_id()
58 results = list(parse_since_id(json))
59 result_all = results1 + results
60 for result in result_all:
61 print(result)
62

部分爬取结果

{'id': '4475185367478768', 'text': '每当我颓废的时候,看看这个视频,我就浑身充满了斗志!为了我和我老婆的小米之家!我可以!我能行!加油! 崔庆才丨静觅的微博视频', 'attitudes': 67, 'comment_count': 20}
{'id': '4560043586357079', 'text': '今天和我老婆相识两周年啦!!!@长泽牙妹\n没错,聊天记录我还留着呢。\n没错,认识第一天就互相夸帅了。', 'attitudes': 21, 'comment_count': 4}
{'id': '4559318243876350', 'text': '塑料钞票是什么?', 'attitudes': 0, 'comment_count': 3}
{'id': '4559150907923613', 'text': '恭喜!', 'attitudes': 2, 'comment_count': 0}
{'id': '4558977381958673', 'text': '又和老婆约会了,嘿嘿嘿。', 'attitudes': 5, 'comment_count': 3}
{'id': '4558976778247661', 'text': '不在运营范围//@长泽牙妹:@崔庆才丨静觅 太牛逼了//@Easy:自动驾驶出租车终于来了 这东西普及以后,买车租车都不用了吧 //@pi1ot:', 'attitudes': 1, 'comment_count': 0}
{'id': '4558976588457736', 'text': '替我老婆来一票!我拼了!', 'attitudes': 0, 'comment_count': 7}
{'id': '4557910472659663', 'text': '家里又添加一枚苹果设备,又能连蓝牙又能听广播,当然最重要的还是气质! 崔庆才丨静觅的微博视频', 'attitudes': 8, 'comment_count': 11}
{'id': '4557363392028554', 'text': '必点不要餐具???', 'attitudes': 2, 'comment_count': 5}
{'id': '4556972688938168', 'text': '老婆快看!@长泽牙妹', 'attitudes': 0, 'comment_count': 2}
{'id': '4556771409006204', 'text': '', 'attitudes': 1, 'comment_count': 2}
{'id': '4556659122241609', 'text': '和老婆在一起七百天啦!\n@长泽牙妹', 'attitudes': 19, 'comment_count': 7}
{'id': '4555567403894898', 'text': '', 'attitudes': 2, 'comment_count': 0}
{'id': '4553441432841866', 'text': '看这个赛程,下场掘金必胜?', 'attitudes': 1, 'comment_count': 1}
{'id': '4551000373858164', 'text': '我老婆最好看了', 'attitudes': 4, 'comment_count': 2}
{'id': '4550992743635797', 'text': '之前跟老婆逛街,每当路过苹果店我都会去看看iMac,还跟老婆介绍说某个定制版多么多么牛逼,以后要是有台这个就好了。今天老婆居然直接送我了一台,还是定制版!啊啊啊啊啊啊啊我哭了! 我老婆也太好了吧!', 'attitudes': 25, 'comment_count': 29}
{'id': '4550482318590459', 'text': '@长泽牙妹', 'attitudes': 3, 'comment_count': 0}
{'id': '4548431908180073', 'text': '这是我老婆让我发的我老婆给我拍的我今天和我老婆道别的时候。 崔庆才丨静觅的微博视频', 'attitudes': 10, 'comment_count': 11}
{'id': '4545200389364228', 'text': '', 'attitudes': 1, 'comment_count': 0}
{'id': '4544491111844364', 'text': '老婆真好啊,今天感觉工作有点累不太开心,然后老婆晚上和我开了一下视频对我笑了笑撒了撒娇,我瞬间又开心又好了,感觉心里暖暖的,我老婆最好了!', 'attitudes': 15, 'comment_count': 3}
{'id': '4543259479641769', 'text': '我老婆最好看了', 'attitudes': 12, 'comment_count': 0}
{'id': '4475185367478768', 'text': '每当我颓废的时候,看看这个视频,我就浑身充满了斗志!为了我和我老婆的小米之家!我可以!我能行!加油! 崔庆才丨静觅的微博视频', 'attitudes': 67, 'comment_count': 20}
{'id': '4560043586357079', 'text': '今天和我老婆相识两周年啦!!!@长泽牙妹\n没错,聊天记录我还留着呢。\n没错,认识第一天就互相夸帅了。', 'attitudes': 21, 'comment_count': 4}
{'id': '4559318243876350', 'text': '塑料钞票是什么?', 'attitudes': 0, 'comment_count': 3}
{'id': '4559150907923613', 'text': '恭喜!', 'attitudes': 2, 'comment_count': 0}
{'id': '4558977381958673', 'text': '又和老婆约会了,嘿嘿嘿。', 'attitudes': 5, 'comment_count': 3}
{'id': '4558976778247661', 'text': '不在运营范围//@长泽牙妹:@崔庆才丨静觅 太牛逼了//@Easy:自动驾驶出租车终于来了 这东西普及以后,买车租车都不用了吧 //@pi1ot:', 'attitudes': 1, 'comment_count': 0}
{'id': '4558976588457736', 'text': '替我老婆来一票!我拼了!', 'attitudes': 0, 'comment_count': 7}
{'id': '4557910472659663', 'text': '家里又添加一枚苹果设备,又能连蓝牙又能听广播,当然最重要的还是气质! 崔庆才丨静觅的微博视频', 'attitudes': 8, 'comment_count': 11}
{'id': '4557363392028554', 'text': '必点不要餐具???', 'attitudes': 2, 'comment_count': 5}
{'id': '4556972688938168', 'text': '老婆快看!@长泽牙妹', 'attitudes': 0, 'comment_count': 2}
{'id': '4556771409006204', 'text': '', 'attitudes': 1, 'comment_count': 2}
{'id': '4543252072761828', 'text': '不知道大家是否已经对抖音有了一种厌倦?最早的时候我觉得内容质量还行,现在没刷几个视频,很多都是广告、带货、博人眼球、摆拍、空洞的内容,质量越来越差,越看越没劲,卸了卸了,还是撸代码好玩。', 'attitudes': 10, 'comment_count': 8}
{'id': '4541086507209784', 'text': '铁窗爱情3', 'attitudes': 25, 'comment_count': 4}
{'id': '4541085119162017', 'text': '即便没收费,那直播搞这个操作也是太服了。', 'attitudes': 3, 'comment_count': 0}
{'id': '4539580352832042', 'text': '铁窗爱情2', 'attitudes': 3, 'comment_count': 4}
{'id': '4538323178106309', 'text': '老婆返校了,但是出不来,于是就有了铁窗爱情。@长泽牙妹 北京', 'attitudes': 20, 'comment_count': 6}
{'id': '4536099089947100', 'text': '半路杀出个李咬金。', 'attitudes': 1, 'comment_count': 0}
{'id': '4534296319361611', 'text': '真尼玛被安卓搞死了啊啊啊啊!!!', 'attitudes': 6, 'comment_count': 9}
{'id': '4533068674897040', 'text': '毫无办法', 'attitudes': 1, 'comment_count': 1}
{'id': '4533019937083479', 'text': '[皱眉][皱眉][皱眉][皱眉]', 'attitudes': 0, 'comment_count': 0}
{'id': '4532539320184329', 'text': '又看了一遍感觉好好玩,再转发一下。', 'attitudes': 10, 'comment_count': 6}
{'id': '4475185367478768', 'text': '每当我颓废的时候,看看这个视频,我就浑身充满了斗志!为了我和我老婆的小米之家!我可以!我能行!加油! 崔庆才丨静觅的微博视频', 'attitudes': 67, 'comment_count': 20}
{'id': '4560043586357079', 'text': '今天和我老婆相识两周年啦!!!@长泽牙妹\n没错,聊天记录我还留着呢。\n没错,认识第一天就互相夸帅了。', 'attitudes': 21, 'comment_count': 4}
{'id': '4559318243876350', 'text': '塑料钞票是什么?', 'attitudes': 0, 'comment_count': 3}
{'id': '4559150907923613', 'text': '恭喜!', 'attitudes': 2, 'comment_count': 0}
{'id': '4558977381958673', 'text': '又和老婆约会了,嘿嘿嘿。', 'attitudes': 5, 'comment_count': 3}
{'id': '4558976778247661', 'text': '不在运营范围//@长泽牙妹:@崔庆才丨静觅 太牛逼了//@Easy:自动驾驶出租车终于来了 这东西普及以后,买车租车都不用了吧 //@pi1ot:', 'attitudes': 1, 'comment_count': 0}
{'id': '4558976588457736', 'text': '替我老婆来一票!我拼了!', 'attitudes': 0, 'comment_count': 7}
{'id': '4557910472659663', 'text': '家里又添加一枚苹果设备,又能连蓝牙又能听广播,当然最重要的还是气质! 崔庆才丨静觅的微博视频', 'attitudes': 8, 'comment_count': 11}
{'id': '4557363392028554', 'text': '必点不要餐具???', 'attitudes': 2, 'comment_count': 5}
{'id': '4556972688938168', 'text': '老婆快看!@长泽牙妹', 'attitudes': 0, 'comment_count': 2}
{'id': '4556771409006204', 'text': '', 'attitudes': 1, 'comment_count': 2}
{'id': '4532537851914227', 'text': '最近我好像又变瘦了,跟我老婆视频的时候,突然看见了镜头里的自己的某个角度有点陈冠希的影子,于是。\n:老婆,你有没有突然发现,我长得有点陈冠希的样子?\n:你可拉倒吧,陈冠希的最后结局都变成了赵本山。\n:\n后来想了想,赵本山就赵本山吧,起码有钱呢。', 'attitudes': 7, 'comment_count': 1}
{'id': '4531615743352894', 'text': '', 'attitudes': 1, 'comment_count': 0}
{'id': '4530223020512245', 'text': '都起的啥名啊?', 'attitudes': 5, 'comment_count': 4}
{'id': '4529050225741761', 'text': '下次又要好久才能见到老婆了。 济南·济南西火车站', 'attitudes': 8, 'comment_count': 0}
{'id': '4528448653499244', 'text': '', 'attitudes': 0, 'comment_count': 2}
{'id': '4528391442935808', 'text': '跟着老婆有肉吃。 济南', 'attitudes': 7, 'comment_count': 2}
{'id': '4528352155927072', 'text': '看我老婆的高难度攀岩\U0001f9d7♀️', 'attitudes': 8, 'comment_count': 7}
{'id': '4527987510742108', 'text': '崔庆才丨静觅的微博视频', 'attitudes': 9, 'comment_count': 5}
{'id': '4527780430358060', 'text': '老婆我来啦!!!我老婆接到我啦!!!\n济南 崔庆才丨静觅的微博视频', 'attitudes': 10, 'comment_count': 7}
{'id': '4527282934256454', 'text': '咋没有写老特?因为刷的太频繁了直接被发现了吗?', 'attitudes': 0, 'comment_count': 5}
{'id': '4475185367478768', 'text': '每当我颓废的时候,看看这个视频,我就浑身充满了斗志!为了我和我老婆的小米之家!我可以!我能行!加油! 崔庆才丨静觅的微博视频', 'attitudes': 67, 'comment_count': 20}
{'id': '4560043586357079', 'text': '今天和我老婆相识两周年啦!!!@长泽牙妹\n没错,聊天记录我还留着呢。\n没错,认识第一天就互相夸帅了。', 'attitudes': 21, 'comment_count': 4}
{'id': '4559318243876350', 'text': '塑料钞票是什么?', 'attitudes': 0, 'comment_count': 3}
{'id': '4559150907923613', 'text': '恭喜!', 'attitudes': 2, 'comment_count': 0}
{'id': '4558977381958673', 'text': '又和老婆约会了,嘿嘿嘿。', 'attitudes': 5, 'comment_count': 3}
{'id': '4558976778247661', 'text': '不在运营范围//@长泽牙妹:@崔庆才丨静觅 太牛逼了//@Easy:自动驾驶出租车终于来了 这东西普及以后,买车租车都不用了吧 //@pi1ot:', 'attitudes': 1, 'comment_count': 0}
{'id': '4558976588457736', 'text': '替我老婆来一票!我拼了!', 'attitudes': 0, 'comment_count': 7}
{'id': '4557910472659663', 'text': '家里又添加一枚苹果设备,又能连蓝牙又能听广播,当然最重要的还是气质! 崔庆才丨静觅的微博视频', 'attitudes': 8, 'comment_count': 11}
{'id': '4557363392028554', 'text': '必点不要餐具???', 'attitudes': 2, 'comment_count': 5}
{'id': '4556972688938168', 'text': '老婆快看!@长泽牙妹', 'attitudes': 0, 'comment_count': 2}
{'id': '4556771409006204', 'text': '', 'attitudes': 1, 'comment_count': 2}
{'id': '4527282414685304', 'text': '@长泽牙妹', 'attitudes': 0, 'comment_count': 0}
{'id': '4525957304939421', 'text': '', 'attitudes': 2, 'comment_count': 0}
{'id': '4524759205246322', 'text': '真是不可思议,突然想到了一个 idea,然后展开想了想貌似可以开拓一个新的研究领域,然后我突然就萌生了读博的想法???\n年轻人真是冲动啊,不过这说明我还年轻。', 'attitudes': 20, 'comment_count': 6}
{'id': '4522770660387278', 'text': '晚上下了雨感觉还挺凉快的,就开了个窗户,于是就进来了各种蚊子\U0001f99f。\n花露水没了,今晚该怎么过。', 'attitudes': 6, 'comment_count': 2}
{'id': '4521265567630156', 'text': '今天过了一个好开心的二十六周岁生日,我老婆和爸爸妈妈都给我发了大红包,老婆还给我订了哈根达斯巧克力蛋糕、三汁焖锅、牛排、小吃,超级好吃!跟室友和老婆一起云唱生日歌,我许了好多大大的愿望,希望都可以成真呀!', 'attitudes': 33, 'comment_count': 13}
{'id': '4520026164311692', 'text': '//@bluekaye: 狂欢是你们的,孤单是北京的', 'attitudes': 0, 'comment_count': 1}
{'id': '4519801776571076', 'text': '大家好久不见呀!\n想我了吧,我来了![嘿哈]\n我来秀老婆啦!!\n我老婆也太好看了吧!!!\n大家再见。', 'attitudes': 37, 'comment_count': 4}
{'id': '4516822408046339', 'text': '笑死我了,我老婆最近学英语嘛不是,昨天看到了一个英语外教头像好帅就果断报名远程口语课了。\n结果今天一上课,看到这老师长这样了。\n我老婆问,你疫情期间在家干嘛呢?他说我在家吃东西吃这么胖了哈哈哈哈。\n真是一胖毁所有啊哈哈哈哈。\n@长泽牙妹 你看还是你老公我最帅吧对不对。 ...全文', 'attitudes': 11, 'comment_count': 5}
{'id': '4475185367478768', 'text': '每当我颓废的时候,看看这个视频,我就浑身充满了斗志!为了我和我老婆的小米之家!我可以!我能行!加油! 崔庆才丨静觅的微博视频', 'attitudes': 67, 'comment_count': 20}
{'id': '4560043586357079', 'text': '今天和我老婆相识两周年啦!!!@长泽牙妹\n没错,聊天记录我还留着呢。\n没错,认识第一天就互相夸帅了。', 'attitudes': 21, 'comment_count': 4}
{'id': '4559318243876350', 'text': '塑料钞票是什么?', 'attitudes': 0, 'comment_count': 3}
{'id': '4559150907923613', 'text': '恭喜!', 'attitudes': 2, 'comment_count': 0}
{'id': '4558977381958673', 'text': '又和老婆约会了,嘿嘿嘿。', 'attitudes': 5, 'comment_count': 3}
{'id': '4558976778247661', 'text': '不在运营范围//@长泽牙妹:@崔庆才丨静觅 太牛逼了//@Easy:自动驾驶出租车终于来了 这东西普及以后,买车租车都不用了吧 //@pi1ot:', 'attitudes': 1, 'comment_count': 0}
{'id': '4558976588457736', 'text': '替我老婆来一票!我拼了!', 'attitudes': 0, 'comment_count': 7}
{'id': '4557910472659663', 'text': '家里又添加一枚苹果设备,又能连蓝牙又能听广播,当然最重要的还是气质! 崔庆才丨静觅的微博视频', 'attitudes': 8, 'comment_count': 11}
{'id': '4557363392028554', 'text': '必点不要餐具???', 'attitudes': 2, 'comment_count': 5}
{'id': '4556972688938168', 'text': '老婆快看!@长泽牙妹', 'attitudes': 0, 'comment_count': 2}
{'id': '4556771409006204', 'text': '', 'attitudes': 1, 'comment_count': 2}
{'id': '4516579494515542', 'text': '今天一共开了八个会,终于结束了。 北京', 'attitudes': 6, 'comment_count': 1}
{'id': '4515643564676096', 'text': '', 'attitudes': 0, 'comment_count': 0}
{'id': '4514252406334323', 'text': '我这个博客 网页链接 最近一直不太行,初步排查一直有持续的被攻击现象,加了防护、CDN 都没啥用,而且是白天不行,深夜就没啥事,难道你这攻击还分时间段休息?本来一台机子扛不住,我想着,那我多加点主机行了吧,我试着把博客迁移了 Kubernetes 加了 10 个 Pod 来 Serve 也还是超慢。我 ...全文', 'attitudes': 3, 'comment_count': 12}
{'id': '4513306594949717', 'text': '我老婆的大长腿!!', 'attitudes': 3, 'comment_count': 2}
{'id': '4513126970648098', 'text': '卧槽我已经十多天没发微博了。,赶紧水一条压压惊。', 'attitudes': 4, 'comment_count': 4}
爬取内容较多,只粘贴了一部分。

Ajax数据爬取--爬取微博的更多相关文章

  1. 爬虫—Ajax数据爬取

    一.什么是Ajax 有时候我们使用浏览器查看页面正常显示的数据与使用requests抓取页面得到的数据不一致,这是因为requests获取的是原始的HTML文档,而浏览器中的页面是经过JavaScri ...

  2. Ajax数据的爬取(淘女郎为例)

    mmtao Ajax数据的爬取(淘女郎为例) 如有疑问,转到 Wiki 淘女郎模特抓取教程 网址:https://0x9.me/xrh6z 判断一个页面是不是 Ajax 加载的方法: 查看网页源代码, ...

  3. Ajax数据爬取

    Ajax的基本原理 以菜鸟教程的代码为例: XMLHTTPRequest对象是JS对Ajax的底层实现: var xmlhttp; if (window.XMLHttpRequest) { // IE ...

  4. 爬虫(十):AJAX、爬取AJAX数据

    1. AJAX 1.1 什么是AJAX AJAX即“Asynchronous JavaScript And XML”(异步JavaScript和XML)可以使网页实现异步更新,就是不重新加载整个网页的 ...

  5. scrapy过滤重复数据和增量爬取

    原文链接 前言 这篇笔记基于上上篇笔记的---<scrapy电影天堂实战(二)创建爬虫项目>,而这篇又涉及redis,所以又先熟悉了下redis,记录了下<redis基础笔记> ...

  6. php外挂python脚本抓取ajax数据

    之前我写过一遍php外挂python脚本处理视频的文章.今天和大家分享下php外挂python实现输入关键字搜索的脚本 首先我们先来分析一波网站: http://www.dzdpw.com/s.php ...

  7. python反反爬,爬取猫眼评分

    python反反爬,爬取猫眼评分.解决网站爬取时,内容类似:$#x12E0;样式,且每次字体文件变化.下载FontCreator . 用FontCreator打开base.woff.查看对应字体关系 ...

  8. python实现列表页数据的批量抓取练手练手的

    python实现列表页数据的批量抓取,练手的,下回带分页的 #!/usr/bin/env python # coding=utf-8 import requests from bs4 import B ...

  9. python爬虫之分析Ajax请求抓取抓取今日头条街拍美图(七)

    python爬虫之分析Ajax请求抓取抓取今日头条街拍美图 一.分析网站 1.进入浏览器,搜索今日头条,在搜索栏搜索街拍,然后选择图集这一栏. 2.按F12打开开发者工具,刷新网页,这时网页回弹到综合 ...

随机推荐

  1. IFIX 5.9 报警存sql

    环境 win7x64 + ifix 5.9 + sql server 2008 (sql 我装在了别的win10的机器上,和ifix的win7不在同一个机器,网是通的) 1 安装sql server ...

  2. github & coding 2018

    github & coding 2018 github & coding all in one https://github.com/topics/javascript react r ...

  3. css & object-fit & background-image

    css & object-fit & background-image object-fit /*default fill */ object-fit: fill|contain|co ...

  4. DevOps tools

    DevOps tools mozart & ansible https://www.ansible.com/integrations/devops-tools websocket jenken ...

  5. yapi & mock JSON

    yapi & mock JSON json, body https://hellosean1025.github.io/yapi/documents/mock.html response bo ...

  6. js navigator.wakeLock 保持屏幕唤醒状态

    let lock; btn.addEventListener("click", async () => { try { if (lock) { lock.release(); ...

  7. NGK.IO会是一个投资优质项目吗?

    互联网发展至今,技术已经高度成熟,人们发现了互联网的好处后,互联网逐渐渗入到家家户户.随着时代的变迁,人们对HTTP长期作为主流霸占互联网食物链的顶端感到不满足.当人类开始变得挑剔,HTTP的劣势就逐 ...

  8. 冷饭新炒:理解JWT的实现原理和基本使用

    前提 这是<冷饭新炒>系列的第五篇文章. 本文会翻炒一个用以产生访问令牌的开源标准JWT,介绍JWT的规范.底层实现原理.基本使用和应用场景. JWT规范 很可惜维基百科上没有搜索到JWT ...

  9. C++算法代码——字符串p型编码

    题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1681 题目描述 给定一个完全由数字字符('0','1','2',-,'9')构成的字 ...

  10. HQYJ嵌入式学习笔记——C语言复习day1

    第一天:Linux命令 vim操作 第二天:数据类型 运算符 顺序语句第三天:分支语句 循环语句第四天:循环语句 数组第五天:数组第六天:指针第七天:函数 数组与指针第八天:数组指针第九天:递归 第十 ...