python爬取微博评论(通过xpath解析的方式) |
您所在的位置:网站首页 › 美杜莎medusas的微博点赞数 › python爬取微博评论(通过xpath解析的方式) |
前段时间笔者写了一份儿爬取微博评论的代码,是用了http://m.weibo.cn的接口,通过这个接口比较好的是代码比较好写,因为数据都是json格式的,规律性非常直观,属性json数据和字典操作的朋友都可以很快掌握,但是这个有个比较大的问题是基本限制了前一百页的内容爬取,而且cookie过期的比较快,所以现在提供一种新的方式是通过xpath方式解析http://www.weibo.cn这个入口。这个方式下面,所有微博评论都是可以在代码中直观看到的,只是可能大家对于xpath的一些相关操作不熟悉,这一块儿大家可以自己去找资源学习,这里不做介绍。所谓的xpath解析网页,实质上和bs4差不多,只是xpath在工业级用的比较多,bs4适合于小型爬虫任务,这种方式下对于cookie的有效期较长,笔者曾经试过一个cookie用了两到三个月未失效。大家可以在打开某一个微博的评论页面时,直接查看源代码。以“https://weibo.cn/comment/Hpg589Py7?ckAll=1”为例,查看源代码发现是这样的 这样大家可以直接复制下来,找一个格式化网站格式化一下就可以很规则了,这里不做演示。 然后只要规则化后就是找h5标签,就行层层剖析就行,对于标签的剖析不做解释。源码贴在下面供大家学习。 # -*- coding:utf-8 -*- __author__ = 'TengYu' import requests import xlwt import json import time import re from datetime import timedelta from datetime import datetime from lxml import etree import sys reload(sys) sys.setdefaultencoding('utf8') headers = { 'User-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:55.0) Gecko/20100101 Firefox/55.0', 'Cookie': 'your-cookie' } #工具类,用来去除爬取的正文中一些不需要的链接、标签等 class Tool: deleteImg = re.compile('') newLine =re.compile('|||') deleteAite = re.compile('//.*?') deleteAddr = re.compile('.*?| |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |