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('<img.*?>')
    newLine =re.compile('<tr>|<div>|<
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值