上次开了个头,一直没时间继续下一步。这不抽空赶紧整理了一下。
废话不多说,直接开始,附主要步骤截图、思路及关键词。
一、观察正常页面的信息
首先打开某吧地址:
http://www.****ke8.com/zuixin.php
如下图,我们一般只需要关注 “最新交流信息” 这栏。
鼠标右键,查看网页源代码。观察代码中的内容,发现帖子内容都在 “最新交流信息” 和 “text/javascript” 范围内。后面分析的时候只要先截取这中间的内容,再进行文本处理,会省一丢丢时间。
二、分割帖子
继续查看网页源代码,下拉到看到跟帖子标题相关的代码附近。然后,睁大眼睛观察有没有什么规律。果然,有个独树一帜的 “»”特别显眼。按下Ctrl+F,搜索这个字符串,发现有100个,每两个之间就是一个帖子。所以用作分割的字符就是它了。
三、提取帖子标题和地址
还是睁大眼睛,可以发现很明显的字眼,“<ahref=”、“title=”,如下图:
所以还是只要提取出关键词(上图方框)中间的内容即可。
四、提取帖子内容
帖子标题和地址都有了,万一哪个帖子很想看看,不得一顿点击。所以还需要对点击后的帖子爬取内容。
同样也是右键,查看网页源代码。翻到跟帖子内容相关的代码区域,找关键词。
帖子的关键词主要是下图方框这些,“postmessage_”, “<ignore_js_op>”
但多翻翻帖子,会见识到吧友发帖的格式五花八门,各有脾气。导致要识别帖子的内容也增加了点难度。不过经过一些文本替换,也能大差不差的去掉无关字符。
五、敲代码
最好添加协议头,大概如下的头就好,当然cookie是必备的,不清楚cookie怎么来,点下方链接
某吧爬虫 第一步 偶尔敲代码,公众号:偶尔敲代码某吧爬虫 第一步
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: max-age=0
Connection: keep-alive
Host: www.zuanke8.com
Referer: http://www.zuanke8.com/home.php?mod=space&do=favorite&view=me
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
六、效果
最终的效果大概就是这样了:
代码截图:
爬取帖子标题和地址
爬取帖子内容
请勿频繁对别人服务器发送网络请求,仅供学习,后果自负!