摘要:文本介绍如何采集
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地址。

 

 

规则里的判断条件根据需求设置,如有需要可查看该教程(点击打开)。