阿布云

你所需要的,不仅仅是一个好用的代理。

抓取百万知乎用户设计之实体设计

阿布云 发表于

             点击我前往Github查看源代码 

一.实体的关系

实体是根据返回的Json数据来设计的

教育经历方面

 

用户可以有很多教育经理,USER和education是一对多的关系,一个education对应一个education

一个用户可以有多个工作,当然很多人可以从事同一份工作,每份工作对应一家公司,对应一个岗位

每个用户可以有多个居住地,同一个居住地有多个用户,每个用户有一个行业,同一个行业有多个用户      

                                          
代码实现就不列举了,创建一个Model类库项目

二.数据库上下文

复制代码

public class ZhihuEntity : DbContext { public ZhihuEntity() : base("name=ZhihuEntity") { // Database.SetInitializer<ZhihuEntity>(null); } public DbSet<User> user { get; set; } public DbSet<business> business { get; set; } public DbSet<employments> employments { get; set; } public DbSet<company> company { get; set; } public DbSet<job> job { get; set; } public DbSet<locations> locations { get; set; } public DbSet<educations> educations { get; set; } public DbSet<school> school { get; set; } public DbSet<major> major { get; set; } public DbSet<UserTemp> UserTemp { get; set; } public DbSet<nexturl> nexturl { get; set; } }

复制代码

 

 Note:nexturl和UserTemp是用来存贮临时数据的

修改好配置文件即可使用了

反爬虫问题

   抓取过于频繁,服务器返回429.这个时候需要切换代理IP了,推荐使用阿布云代理,阿布云代理IP,提供高匿代理,爬虫代理.