Python基础学习-爬虫小试3爬知乎用户小测

原创 2015年11月19日 09:58:49

*----------------------------------------------------------------编程届菜鸟-------------------------------------------------------*

任务:根据知乎用户页面,统计粉丝人数,并按照粉丝继续爬。最后按照粉丝数排序



import re
import requests

class crawlUser:

    #定义构造函数
    def __init__(self, userid,cookie):
        self.userId = userid
        self.fellowCount = 0
        self.fellowlist = []
        self.cookie = cookie

    def getpage(self):
        url = "http://www.zhihu.com/people/"+self.userId+"/followers"
        self.response = requests.get(url, cookies=self.cookie)

    def getfellowcount(self):
        reg = 'data-tip="p\$t\$(.+)"'
        pattern = re.compile(reg)
        self.fellowCount = re.findall(pattern, self.page)
        count=0
        for x in self.fellowCount:
            if (count%2)==0:
                self.fellowlist.append(x)
            count=count+1
        return self.fellowlist

m_cookie={"_za":"****************","a2404_times":"129",
          "q_c1":"*********************",
          "_xsrf":"********************",
          "cap_id":"**************************",
          "__utmt":"1","z_c0":"***********************1d5358",
          "unlock_ticket":"***********************6d",
          "__utma":"********************************",
          "__utmb":"15**************","__utmc":"*****",
          "__utmz":"155**********************************/",
          "__utmv":"***************************************1"}

userlist={}
tempUserList=["****"]
flag=0
iter=0
while flag<len(tempUserList) and iter<10:
    user = crawlUser(tempUserList[flag],m_cookie)
    user.getpage()
    fellowlist=user.getfellowcount()
    userlist[tempUserList[flag]]=len(fellowlist)
    for x in fellowlist:
        if x not in tempUserList:
            tempUserList.append(x)
    print("user %s fellowed %d"%(tempUserList[flag],userlist[tempUserList[flag]]))
    flag=flag+1
    iter=iter+1

print("crawl is done!")
sortRes=sorted(userlist.items(),key=lambda d:d[1])
"""f=open("userlist.txt","w+")
f.write(userlist)
f.close()"""
print(sortRes)
print("sort is done!")


【过程】

1、前两天小试的下载图片之类的练习后,今天这个比前两天的难度再加一点,但是不算难度太高的

2、绕不开登陆验证,所以用了本地的cookie,方法是直接从浏览器里复制的,方法有点low,求指教更好的

3、后面设置只抓取了10人,因为访问得频繁就被服务器给挂了,我对这块的学习也不够,王先森说可以对进程添加sleep处理


【感受】

1、实践才是学习的最快途径

2、requests比urllib好用太多了

3、pycharm只比Notepad好用一点点

4、路漫漫其修远兮


*-------------------------------------------本博客旨在记录学习历程,望前辈能人留言指教----------------------------------------*

版权声明:本文为博主原创文章,未经博主允许不得转载。

Python爬虫爬取知乎小结

博客首发至Marcovaldo’s blog (http://marcovaldong.github.io/)最近学习了一点网络爬虫,并实现了使用python来爬取知乎的一些功能,这里做一个小的总结。...
  • MajorDong100
  • MajorDong100
  • 2016年08月20日 23:03
  • 16687

python爬虫 爬取知乎用户的用户信息

我用python爬虫找到了不想告诉我她知乎ID的妹纸的ID…….在我做了这件事情之后 , 她觉得我越来越懂她了 , 嘻嘻有一天 , 我发现我心仪已久的妹纸在朋友圈里分享了知乎专栏的文章 , 就知道她也...
  • qq_21970857
  • qq_21970857
  • 2015年06月17日 18:43
  • 2654

[python]知乎用户头像爬虫

这是一个简单的python小爬虫,登录本人知乎的个人中心,通过关注者即可实现爬虫在页面间的连接,先看看爬取的效果,虽然简单却挺有趣:                                  ...
  • Heart_To_Heart
  • Heart_To_Heart
  • 2016年06月04日 20:14
  • 2251

python爬虫实战之爬取知乎帖子

刚开始学习python爬虫,参考代码:https://github.com/lijaha/web-spider/blob/master/Get_ZhiHu_question.py  相关教程http...
  • caduca
  • caduca
  • 2015年12月16日 20:57
  • 6925

用python爬虫抓取知乎图片

学习python挺好玩的,可以做一些好玩的事情。 这个答案分享了1000+图片,也是蛮拼,网页打开都卡死,正好做示范抓取图片使用。 import urllib.request as req...
  • mzm489321926
  • mzm489321926
  • 2015年09月28日 16:07
  • 1554

Python爬虫爬取知乎用户信息+寻找潜在客户

【Python应用】寻找社交网络中的目标用户 这是我们学校的软件工程课程设计的题目,要求自行编写爬虫或者利用开放的API获取新浪微博、知乎等社交网站的用户信息,利用数据挖掘的相关算法进行分析, 从大规...
  • s291547
  • s291547
  • 2017年07月27日 17:50
  • 1068

爬虫-知乎用户关系之关注

首先进行分类 主要分为 main (函数主入口), urlManger(URL管理), urlParse(URL解析),urlOUT(最后的输出结果格式) 注意的几个坑 关注了和关注者的列表 不...
  • u012562302
  • u012562302
  • 2017年11月22日 16:01
  • 128

python爬虫——爬取知乎上自己关注的问题

与之前爬的网站图片的不同的是,现在爬取的是要自己个人的关注的东西,所以需要做到模拟登录。模拟登录的原理是登录网站后,在浏览器上获取保存的cookies信息,填充之后与请求一起发送。...
  • iaiti
  • iaiti
  • 2015年11月27日 11:24
  • 6848

简单的python3.5爬取知乎用户基本信息

简单的知乎用户信息爬取。   用到python3.5,mysql数据库,需要自行准备好环境   代码在windows上测试成功(没钱买mac,逃)   插入数据库时,写了两个版本,一个正常查询,...
  • New_Objectc
  • New_Objectc
  • 2016年12月19日 22:15
  • 1258

Python网络爬虫对知乎首页进行爬取

# -*- coding: UTF-8 -*- import urllib, urllib2, cookielib, re, time, os import requests print 'zh...
  • u012599619
  • u012599619
  • 2015年07月15日 11:57
  • 1513
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python基础学习-爬虫小试3爬知乎用户小测
举报原因:
原因补充:

(最多只允许输入30个字)