微博热搜读取(二)

作者: ATangYaaaa | 来源:发表于2018-06-12 04:21 被阅读0次

仿照上个例子的做法,用python截屏加上tesseract文字识别,读取新浪微博热搜榜内容并保存到文本。

图一 微博热搜榜

python截取全屏,然后细分ROI区域进行逐一识别,直接贴代码吧:

# -*- coding:utf-8 -*-

import cv2

import win32gui, win32ui, win32con, win32api

import os

def window_capture(filename):

  x=0

  y=0

  w=1920

  h=1080

  hwnd = 0

  hwndDC = win32gui.GetWindowDC(hwnd)

  mfcDC = win32ui.CreateDCFromHandle(hwndDC)

  saveDC = mfcDC.CreateCompatibleDC()

  saveBitMap = win32ui.CreateBitmap()

  saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)

  saveDC.SelectObject(saveBitMap)

  saveDC.BitBlt((x, y), (w, h), mfcDC, (0, 0), win32con.SRCCOPY)

  saveBitMap.SaveBitmapFile(saveDC, filename)

window_capture("window_capture.jpg")

img=cv2.imread("window_capture.jpg",cv2.IMREAD_GRAYSCALE)

ROI=img[501:951,540:1210]

cv2.imshow("OCR_data",ROI)

cv2.waitKey(0)

cv2.imwrite("OCR_data.jpg",ROI)

for i in range(1,11):

    Top10=ROI[(i-1)*45:i*45,100:500]

    cv2.imshow("Topic",Top10)

    cv2.waitKey()

    cv2.imwrite("Top10.jpg",Top10)

    os.system("tesseract Top10.jpg Top10 -l chi_sim+eng")

    f=open("out.txt","a")

    g=open("Top10.txt","r")

    content=g.read()

    f.write(content)

    g.close()

    f.close()

下面是截取的主ROI,需要识别的内容都包括在里面:

图二 ROI截取内容

下面是分段截取的图片:

图三 每个Item截取内容

下面是文本文件保存的数据:

图四 保存的文本内容

可以看出,大部分的爬取效果都比较不错,唯独少部分数据可能会存在误判,不影响我们从宏观上取看整个网络流行趋势关注点的性质内容。这里截图时坐标定位是个非常麻烦的问题,如果不是因为在学习python的openCV模块,截图部分用扣扣截图简直不能太easy。注意图中的图其实不是属于感兴趣内容,数据清洗时要洗掉,还有无意义的几个误判英文。

总的来说,来时做成了一件事情。但是是一种比较笨拙的方法,花时间较长而且识别效果也不好。

但是这里引入了文本识别的基本方法,tesseract是python非常友好的识别工具,其还提供字体训练的一系列方案,日积月累的字体建库可以实现个人手写体的识别,是一种非常值得学习的事物。

相关文章

  • 微博热搜读取(二)

    仿照上个例子的做法,用python截屏加上tesseract文字识别,读取新浪微博热搜榜内容并保存到文本。 pyt...

  • 微博热搜

    乌烟瘴气的微博 整天不是这个出轨就是那个出轨 空口白牙,不用负法律责任哈 也不用发什么声明了,反正不愿意相信的人还...

  • 微博热搜

    关于热搜可以说每个人都有不同的看法!以前的我觉得刷热搜真有意思,可以看到好多有意思的事!追星之后我突然觉得,热搜也...

  • 微博热搜

    今天的微博热搜,下面这3条引起了我的关注:张云雷 女人连家务活都干不好、六里屯借到否认陈羽凡报道社区戒毒所和张柏芝...

  • 微博热搜

    关注度高压力也大,每次版本迭代都是技术上“黑白”的较量,正如记者说的那样凡是有利益的存在就会推动有人去做,无法避免...

  • 你在等着我回来,我在等着蛙寄明信片回来。

    没有微博热搜的第6天,想他。 在微博热搜撤下的时候,我的世界安静了不少。 随即我就发了一条微博:「没有微博热搜的日...

  • 最近微博热搜被“丁真”二字霸占,丁真何许人也?

    最近微博热搜被“丁真”二字霸占,丁真何许人也? 作者:白清风 Part 1 最近微博热搜被“丁真”二字霸占,丁真何...

  • 新浪微博用户测试

    新浪微博测试 二分式任务 在微博首页找到热搜榜单 (1)在无其他人的帮助下,10秒内进入热搜榜单 在微博实现关注乡...

  • 微博热搜消失的那段时间,你慌了吗?

    01 今天,是微博热搜回归的第n天。想想,没有热搜的春节,多少人会抓狂? 前段时间,微博发布热搜整改,热搜消失的话...

  • 关于微博关闭热搜的一点点感悟

    无聊时打开微博看看热搜以打发时间,发现微博关闭了热搜,一下子有点失落,间而无奈。 微博热搜象征无数天朝子民关注焦点...

网友评论

    本文标题:微博热搜读取(二)

    本文链接:https://www.haomeiwen.com/subject/uxnkeftx.html