xml地图|网站地图|网站标签 [设为首页] [加入收藏]
指标的创造进度,和讯抓取尝试
分类:编程

微信是比较封闭的,微博的好友信息比较开放,都可以抓到;

又有时间写东西了,最近深感世事并不以人的美好愿望而改变,还是要以积极地心态来适应新变化,多多关心身边的人。

上一篇的介绍中, 并没有介绍到对象的创建过程, 这一篇主要就介绍一下, 对象的创建过程.

1)找人,通过关注列表;
2)提取出微博的数据,放到数据库;

图钉画中一个图钉代表一个像素,所以关键在于像素渣化,降低分辨率,图钉的色彩有限,还需要降低图片的色彩数量,统计各种色彩的数量及位置。

其实熟悉了IL语法之后, 完全可以用Reflector反编译代码去查看. 而且正因为有这个工具, 可以对照着Reflecotr中的IL代码去写Emit的IL. 

微博昵称,头像;
关注,粉丝及微博数量;
根据一些基本的原则来决定是否将该用户的微博入待爬的队列;

以上都可以用Pillow完成,Pillow是Python中用来兼容或者代替PIL的图像处理库。

好了, 开始正题了, 还是从实例开始:

指标:关注人数;
粉丝人数;但是有可能会很多人,而且有很多僵尸粉;(不好:第一,低效;
第二,平台也不会让你无限制的往下翻页,肯定会有限制)
微博数,粉丝数的数量是个重要的参考点;

pip install pillow

一、示例

怎么判断抓取的人不值得关注?可以先做一个定向的分析,分析你所抓的领域的人的微博大致情况;
    1)如果发布的微博数量特别少,可以认为是僵尸用户,不用爬;微博数小于某个下限;
    2)如果发布的微博数量特别多,比如每天发100多条,可能是小广告商或者机器人;
    3)对于转发的微博其实和僵尸的微博差不多,你可能爬了大量的微博发现都是重复的信息;

以下图为例:

首先建类(Person, Contacts):

# 下面列出部分代码如下:

图片 1

public class Person
    {
        public string Name { get; set; }

        public int Age { get; set; }

        public Contacts Contact { get; set; }

        public override string ToString()
        {
            return  string.Format("Name:{0}rnAge:{1}rnContact:{2}", this.Name, this.Age, this.Contact.ToString());
        }
    }

    public class Contacts
    {
        public string Address { get; set; }

        public string Phone { get; set; }

        public string QQ { get; set; }

        public override string ToString()
        {
            var res = string.Format(@"[Address:{0}, Phone:{1}, QQ:{2}]", this.Address, this.Phone, this.QQ);
            return res;
        }
    }

# -*- coding: utf-8 -*-
"""
Created on Sun Apr  1 10:18:42 2018

首先降分辨率,大概1万个图钉可以达到较好的外观效果,以此可以确定图片的长宽:

然后就可以写创建方法了:

@author: Joe3223
"""
# -*- coding:utf-8 -*-
#!/usr/bin/env python3
import time
import os
import re
from bs4 import BeautifulSoup
from urllib.request import urlopen
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
#import pymongo
#from pymongo import MongoClient
import hashlib
from collections import deque
from lxml import etree
import threading

>>> from PIL import Image
>>> img = Image.open('20180707.jpg')
>>> print img.size
(512, 512)
>>> img = img.resize((img.width/5, img.height/5))
>>> img.save('target.jpg')
static void PersonTest()
{
       var contacts = new Contacts {  Address="HeFei", Phone="15112341234", QQ="66666666"};
       var person = new Person { Name = "Wubi", Age = 20, Contact = contacts };
       Console.WriteLine(person.ToString());
 }

# 数据库的准备,这里用的是mongodb;
#client = MongoClient('localhost',27017)
#db = client.test
#followers = db.followers

效果如下:

反编译后的IL代码如下:

本文由澳门新葡亰手机版发布于编程,转载请注明出处:指标的创造进度,和讯抓取尝试

上一篇:内嵌函数和闭包澳门新葡亰手机版 下一篇:没有了
猜你喜欢
热门排行
精彩图文