新浪微博——关键词微博采集及用户信息采集
2019-02-25 14:15:36 阅读量: 35471
摘要:文本介绍如何采集
1、搜索关键词,如#流浪地球#,采集底下的微博
2、采集微博用户的性别、地点、院校、标签、行业、公司、简介等信息
采集网站:新浪微博(https://weibo.com/)
采集字段:用户头像、用户名、微博内容、发布时间、发布机型、地点、星座(生日)、用户标签、院校、公司、性别
采集目的:爆采集关键词的搜索结果微博内容(以电影举例),可分析电影的舆情评价、观影人群画像制作等
适用人群:自媒体微博运营、影视从业人员、影视宣发人员、舆情分析人员、情报员、闻采编从业人员等
步骤1:创建新浪微博关键词搜索采集任务
1、进入八爪鱼主界面,选择【自定义采集】
2、将要采集的网址URL复制粘贴到网站输入框中,点击【保存网址】
步骤2:在八爪鱼中设置【登录流程】
1、由于微博需要登录才能看到更多的信息,因此必须要在八爪鱼配置【登录流程】才能进行采集。
登录一般有4种登录方式:文本登录、点击登录、cookie登录、扫码登录,这里选择【cookie登录】(值得注意,cookie有有效期,一般根据你使用的浏览器来定,一般1天左右,如cookie失效后则可能导致无法正常采集)。此步骤要去你提前注册微博,才能进行下一步配置。(知识点:八爪鱼登录)
点击切换成浏览器模式。
输入账号和密码,进行登录。
登录成功后,再次点击切换回原来的采集模式。
2、获取 Cookie的值,设置成自动登录。
按照以下问题操作获取Cookie值。
点击【打开网页】。勾选【自定义Cookie】,点击【获取当前页面Cookie】,带中间的【a】变为蓝色【A】,则视为成功获取Cookie值。
(Cookie是指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据。通俗讲就是浏览器缓存了你的ID,下次你就不要输入账号和密码,就可直接登录,但一般有失效期)
步骤3:在八爪鱼中进行关键词【流浪地球】搜索
1、点击微博搜索框,点击右侧【输入文字】,输入【流浪地球】
2、点击【放大镜】搜索,接着关键词#流浪地球#的微博结果就展示出来了。
需要特别注意:
选中【点击元素】设置勾选【Ajax加载数据】,并设置超时【15-20秒】;勾选滚动页面为【20次】、每次【向下滚动一屏】,点击【确定】。
因为微博网页打开速度比教慢,因此Ajax设置的比较久。向下一屏是为了加载完页面所有的数据。
(知识点:Ajax采集。Ajax是一种叫局部加载的网站,通常表现为网页内容变了,网址没有变,所以必须设置超时时间,让八爪鱼知道网页有变化从而进行一步采集工作。时间根据网页加载速度设置,网速越慢,Ajax超时越长。
知识点:向下滚动。我们采集的数据有时候需要将页面下来才会展示,所以需要设置向下滚动)
其他没有提到的请不要勾选。
步骤4:创建翻页循环
点击下一页,然后点击【循环点击下一页】。
步骤5:创建点击【展开全文】循环,展开所有被折叠的微博
1、我们发现微博中有许多被折叠起来的,这时我们首先要将整个页面所有被折叠起来的微博全部展示出来。因此,我们要先创建一个【展开全文】的点击循环。
2、可视流程图左侧有一列小按钮,将【循环】拖入到循环翻页中间的空白处,中间空白处会出现绿色加号,然后松开。
如图
3、选中循环,点击【不固定元素列表】,将可以定位到页面上所有【展开全文】按钮的XPath地址填写进去,点击【确定】。
XPath地址:html/body/div[1]/div[3]/div[2]/div[1]/div[1]/div/div/div[1]/div[2]/p[1]/a[text()='展开全文']
点击确定后,就能看到当前页所有【展开全文】都被匹配上。
将【点击元素】拖入循环中
并对点击进行参数设置。
步骤6:创循微博内容采集循环
1、选中第一条微博内容,待绿块全覆盖后,点击。
2、继续往下选择第二条微博内容,待绿块全覆盖点击,这时八爪鱼会自动匹配余下所有同类型的元素,你无需一个个选中。然后,点击【采集以下元素文本】
3、成功创建微博内容采集循环。
步骤7:提取微博详情内容
1、点击头像,采集该图片地址。
2、采集用户名。
3、用同样的方法把所有详情都采集下来,并且根据需求修改字段名称。
如果有不想要的字段可以进行删除。
步骤8:提取用户个人详情内容
1、点击微博用户头像,点击【点击该图片】,进入个人页面。
2、点击【点击元素】,将参数按照图中示例更改。
3、同样的,将我们要采集的用户信息提取下来
如地理位置:
4、采集用户性别信息
由于用户信息隐藏在网站代码里,因此我们需要将它的【元素Outer Html】采集下来。
然后再做格式化处理。点击要处理的字段,点击【自定义数据化处理】
点击【格式化数据】,用正则表达式把性别属性匹配出来。
5、发现不同微博用户的网站结构不太一样,采集的数据有时候会错行。因此想用通用的XPath地址,以免后续清洗数据麻烦。
通用Xath 地址:
地点://em[@class='W_ficon ficon_cd_place S_ficon']/../following-sibling::span
星座://em[@class='W_ficon ficon_constellation S_ficon']/../following-sibling::span
简介://em[@class='W_ficon ficon_pinfo S_ficon']/../following-sibling::span
标签://em[@class='W_ficon ficon_cd_coupon S_ficon']/../following-sibling::span
院校://em[@class='W_ficon ficon_edu S_ficon']/../following-sibling::span
公司://em[@class='W_ficon ficon_bag S_ficon']/../following-sibling::span
比如我想通过精确的XPath地址抓取【地点】信息,则点击【地点】字段,选择自定义数据字段。
选择自定义定位元素方式
输入新的XPath地址。
规则里的判断条件根据需求设置,如有需要可查看该教程(点击打开)。