找回密码
 会员注册
查看: 28|回复: 0

python批量爬取公众号文章,面试必备

[复制链接]

3

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2024-9-8 09:53:22 | 显示全部楼层 |阅读模式
查找我们爬取的目标数据所在位置,点击通过查找得到的包,得到目标网址以及请求头信息请求网页headers={‘User-Agent’:‘Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/78.0.3904.108Safari/537.36’,‘cookie’:‘pgv_pvi=2389011456;RK=x4Sdy3WsT4;ptcz=4a2fe0ffda6742a230c94f168291afcce2bd001e5d6615132b55da90559cd463;pgv_pvid=6989331736;_ga=GA1.2.735850052.1585832762;ptui_loginuin=1207020736;ua_id=iJuK7hnHjcUE0e2dAAAAAHzCRcatCWOiHc-hdkhSDL4=;__guid=166713058.1972731636944397800.1590316882436.5461;openid2ticket_oY8wqwesgvgkdQ69wUeM5UxhOV5c=ION52/k2w4M3o44iht5BRt5yCyxP/3IaRXJ84RIpRZA=;mm_lang=zh_CN;pac_uid=0_5ecd1592971c3;uin=o1240069166;skey=@YLtvDuKyj;pgv_info=ssid=s4875389884;pgv_si=s8410697728;uuid=62839906b2a77b5f098cd91979af8b33;rand_info=CAESIC53TQFCwjIe4ZsrTRKvSs+ocfs4UTsj9swrrNwosjCd;slave_bizuin=3240807523;data_bizuin=3240807523;bizuin=3240807523;data_ticket=AiTk/OFWXCKxhaenCvEuP06mwWTI6YqCyt+74hoaXaNtKBbcnq//ZTXHzqByMhK6;slave_sid=YndxeFhCSkU5OUJtdFYycW9zN29FcG51NU5GNElBM3I2RF9wVjJBRGx2bWxrTXdiMDZFYzllUWNaMlN4N0RsOTlVMDRxZFZEMjJXdlRZcXBVOGptQ2ZDSVZiOEJlQW5BZDVCWlkzSnJ6WWNPWVRiN1J0cldCd0pvbTc3RGRiMm9pZ3ZISTl6WWhDUmNCZ2s3;slave_user=gh_5d822fe7fd08;xid=9794daa60db66fcf7a65c4054e3d68ce;mmad_session=43d4e5247a6b025b67ba3abd48d27a309ec4713911b6ef6f23cddb4b9953e771354ad1572fbc3fa895051725e95abb887cf2d03e9864084974db75c8588189699ea5b20b8fe35073831446ef98d24de600f107fe69d79646a3dd2907ab712e1f11de1c56c245721266e7088080fefde3;ts_last=mp.weixin.qq.com/cgi-bin/frame;ts_uid=1963034896;monitor_count=15’}#请求头信息,这里cookie信息必须添加,否则得不到网页信息url=‘https://mp.weixin.qq.com/cgi-bin/appmsg?action=list_ex&begin=0&count=5&fakeid=MjM5MjAxMDM4MA==&type=9&query=&token=59293242&lang=zh_CN&f=json&ajax=1’response=requests.get(url,headers=headers)#得到响应内容response.encoding=‘utf-8’#设置响应内容为utf-8格式html=response.text#得到网页的文本形式print(html)这里的请求头信息必须添加上cookie的信息,否则无法得到网页信息网页的请求结果如下图所示,红色框标出的为我们需要的文章以及文章链接2、解析网页从得到的网页响应结果中我们可以看到,每篇文章的和链接都分别在"title"标签和"cover"标签后面,所以我们可以采用正则表达式直接对其进行解析title=re.findall(‘“title”:“(.*?)”’,html)#得到文章cover=re.findall(‘“cover”:“(.*?)”’,html)#得到文章链接all=zip(title,cover)#利用zip方法,将两个列表中的数据一一对应print(list(all))#list是对zip方法得到的数据进行解压解析后结果如下3、保存数据fordatainall:#for循环遍历列表time.sleep(3)#每爬取一篇文章间隔3秒,以防触发反爬withopen(‘C:\Users\Administrator\Desktop\爬取公众号文章.csv’,‘a’,encoding=‘utf-8-sig’)asfile:#将数据保存到桌面write=csv.writer(file)write.writerow(data)到此本次的爬虫就已经完成,我们来看一下最终结果完整代码importre#用来解析网页importrequests#用来请求网页importcsv#用来保存数据importtime#用来设置每次爬取间隔的时间请求网页index=0headers={‘User-Agent’:‘Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/78.0.3904.108Safari/537.36’,‘cookie’:‘pgv_pvi=2389011456;RK=x4Sdy3WsT4;ptcz=4a2fe0ffda6742a230c94f168291afcce2bd001e5d6615132b55da90559cd463;pgv_pvid=6989331736;_ga=GA1.2.735850052.1585832762;ptui_loginuin=1207020736;ua_id=iJuK7hnHjcUE0e2dAAAAAHzCRcatCWOiHc-hdkhSDL4=;__guid=166713058.1972731636944397800.1590316882436.5461;openid2ticket_oY8wqwesgvgkdQ69wUeM5UxhOV5c=ION52/k2w4M3o44iht5BRt5yCyxP/3IaRXJ84RIpRZA=;mm_lang=zh_CN;pac_uid=0_5ecd1592971c3;uin=o1240069166;skey=@YLtvDuKyj;pgv_info=ssid=s4875389884;pgv_si=s8410697728;uuid=62839906b2a77b5f098cd91979af8b33;rand_info=CAESIC53TQFCwjIe4ZsrTRKvSs+ocfs4UTsj9swrrNwosjCd;slave_bizuin=3240807523;data_bizuin=3240807523;bizuin=3240807523;data_ticket=AiTk/OFWXCKxhaenCvEuP06mwWTI6YqCyt+74hoaXaNtKBbcnq//ZTXHzqByMhK6;slave_sid=YndxeFhCSkU5OUJtdFYycW9zN29FcG51NU5GNElBM3I2RF9wVjJBRGx2bWxrTXdiMDZFYzllUWNaMlN4N0RsOTlVMDRxZFZEMjJXdlRZcXBVOGptQ2ZDSVZiOEJlQW5BZDVCWlkzSnJ6WWNPWVRiN1J0cldCd0pvbTc3RGRiMm9pZ3ZISTl6WWhDUmNCZ2s3;slave_user=gh_5d822fe7fd08;xid=9794daa60db66fcf7a65c4054e3d68ce;mmad_session=43d4e5247a6b025b67ba3abd48d27a309ec4713911b6ef6f23cddb4b9953e771354ad1572fbc3fa895051725e95abb887cf2d03e9864084974db75c8588189699ea5b20b8fe35073831446ef98d24de600f107fe69d79646a3dd2907ab712e1f11de1c56c245721266e7088080fefde3;ts_last=mp.weixin.qq.com/cgi-bin/frame;ts_uid=1963034896;monitor_count=15’}#请求头信息,这里cookie信息必须添加,否则得不到网页信息foriinrange(2):#设置for循环实现翻页,爬取多页内容,这里range括号内的参数可以更改url=‘https://mp.weixin.qq.com/cgi-bin/appmsg?action=list_ex&begin=’+str(index)+‘&count=5&fakeid=MjM5MjAxMDM4MA==&type=9&query=&token=59293242&lang=zh_CN&f=json&ajax=1’response=requests.get(url,headers=headers)#得到响应内容response.encoding=‘utf-8’#设置响应内容为utf-8格式html=response.text#得到网页的文本形式(1)Python所有方向的学习路线(新版)这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。最近我才对这些路线做了一下新的更新,知识体系更全面了。(2)Python学习视频包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。(3)100多个练手项目我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)知道该从何学起的朋友,同时减轻大家的负担。**由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)[外链图片转存中…(img-WH0DHeur-1711064218007)]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 22:55 , Processed in 0.436960 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表