微信公众号阅读数抓取怎么做?

作者:微微号 点击:145 发布时间:2021-10-27

  微信公众号阅读数抓取怎么做?微信公众号阅读数抓取对于运营微信公众号来说至关重要,所以有很多的微信公众号运营者想知道微信公众号阅读数抓取怎么做,以下是微信公众号阅读数抓取怎么做的内容了。

  微信公众号阅读数抓取怎么做?

  微信公众号阅读数抓取需要使用到爬虫技术哦。爬虫抓取微信公众号阅读数的步骤如下:

  先抓取wxid(搜索要用到)

  目标时间段分片 10天一次搜索(避免超过10页需要登录)

  获得时间片内的记录数做分页

  循环分页数拼接url携带代理请求

  bs4分析网页内容 遇到验证码更换代理重新请求

  正则匹配出列表页中的详情页链接 多线程请求阅读点赞

  结果插入mysql

  以上操作使用多进程提升速度。

  微信公众号阅读数抓取的做法如下:

  获取wxid

  这里用selenium去获取配置文件的公众号的wxid

  class Craw_openid:

  __getWxIdApi = "http://weixin.sogou.com/weixin?zhnss=1&type=1&ie=utf8&query="

  __driver = webdriver.Chrome()

  __wechatIds = wechatIds['wxId']

  def __init__(self):

  pass

  def getWxId(self):

  for x in self.__wechatIds:

  url = self.__getWxIdApi + str(x[0])

  self.__driver.get(url)

  while (self.checkCaptcha(self.__driver.page_source) == False):

  time.sleep(0.5)

  reg = re.compile(r'"openid":"(.+?)"')

  reg2 = re.compile(r'"sourcename":"(.+?)"')

  wxId = re.findall(reg, self.__driver.page_source)[0]

  try:

  wxName = re.findall(reg2, self.__driver.page_source)[0]

  except Exception as e:

  wxName = ''

  print "['%s' , '%s' , '%s' , '%s']," % (x[0], x[1] , wxId , wxName)

  def checkCaptcha(self , content):

  soup = bs4.BeautifulSoup(content, 'html.parser', from_encoding='gb18030')

  strs = soup.select('.s1')

  if strs:

  temp = re.compile(r'>(.*?)').findall(str(strs[0]))[0]

  if temp == '您的访问出错了':

  return False

  else:

  return True

  else:

  return True1234567891011121314151617181920212223242526272829303132

  时间分段

  这里我统计的是2016年的

  def getBetweenDay(self):

  for x in xrange(1, 13):

  days = calendar.monthrange(self.__year, x)[1]

  temp = str(x)

  if len(temp) == 1:

  temp = '0' + str(temp)

  ss = str(days - 20)

  if len(ss) == 1:

  ss = '0' + ss

  self.__dates.append({x: [str(self.__year) + '-' + temp + '-01', str(self.__year) + '-' + temp + '-' + ss]})

  self.__dates.append({x: [str(self.__year) + '-' + temp + '-' + str(days - 19), str(self.__year) + '-' + temp + '-' + str(days - 10)]})

  self.__dates.append({x: [str(self.__year) + '-' + temp + '-' + str(days - 9), str(self.__year) + '-' + temp + '-' + str(days)]})

  return self.__dates12345678910111213

  微信文章数和阅读点赞

  文章数即翻页列表数量的总数,阅读微信点赞可以替换详情页的前缀为getcomment

  def getSee(self):

  if self.__urlList:

  self.__totalNum = len(self.__urlList)

  for x in self.__urlList:

  url = x.replace('mp.weixin.qq.com/s?src' , 'mp.weixin.qq.com/mp/getcomment?src')

  json = self.getContent(url)

  readed = eval(json)['read_num']

  liked = eval(json)['like_num']

  if int(readed) >= 100000:

  self.__highRead += 1

  if readed > self.__topReaded:

  self.__topReaded = readed

  if liked > self.__topLiked:

  self.__topLiked = liked

  self.__readed += readed

  self.__liked += liked12345678910111213141516

  其他:

  抓取的方法有很多,重点是sogou的反爬虫做得比较严格(毕竟是专业做搜索引擎的),所以要在代理上下一些功夫,如果抓取不需要阅读点赞,可以参考github上一个go语言写的中间人攻击的方法,不需要代理,但是有可能微信号被封。

  微信公众号阅读数抓取怎么做呢?感谢大家的观看哦,微信公众号阅读数抓取的步骤都已经写在上方的内容中了哦,各位微信公众号运营者,您都学会了吗?大家请多关注微微号哦。

  更多推荐:

  如何采集抓取微信公众号文章内容阅读数?

  怎么实现微信阅读数点赞数抓取?

  微信群惊现关键字自动回复聊天机器人

我们是一家专业提供公众号交易、公众号迁移、公众号增粉、公众号买卖交易的平台,如果您有这方面的需求,。有任何疑问,可以 【立即咨询】 我们平台的客服或者添加微信号 【19008205409】 。此文章来源于网络,如有侵权,请联系删除

标签:

资金保障

提供买卖双方资金担保交易
更放心

法律保障

交易签订具有法律效益合同
提供法律支持

急速退款

专属资金通道,快速拿到
钱款

全资公司

全资控股公司,大平台交易
有保障

服务优质

3500+专业团队,为您提供24
小时一对一贴心服务