最近帮实验室干活,由于pypi中关于知乎的package不知何故运行不了,于是写了一个知乎爬虫的项目,主要目的是爬取知乎用户主页的信息,算是小小的练个手。
根据需求主要爬取以上四幅图中的信息。
主要工具:urllib2,BeautifulSoup,re
主要想法:对于tag独一无二的信息,用正则匹配直接寻找tag。对于所属tag重复出现的信息,根据信息的具体文字编写正则表达式。
xlwt用于将信息保存为excel:
#coding:utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import urllib2
from bs4 import BeautifulSoup
import re
import xlwt
构建list存储所有信息:
followee_num=[] #关注人数总表
follower_num=[] #关注者数总表
user_id_list=[] #ID总表
answer_num=[] #回答数总表
ask_num=[] #提问数总表
post_num=[] #文章数总表
column_num=[] #专栏数总表
pin_num=[] #想法数总表
great_answer_record=[] #是否是优秀回答者
agree_num=[] #获得赞同数总表
thank_num=[] #获得感谢数总表
collect_num=[] #获得收藏数总表
hold_live_num=[] #举办live数总表
help_live_num=[] #赞助live数总表
将所有用户的id(点进主页后链接里显示"www.zhihu.com/people/id/activities")写在txt中以","分隔,保存在工作目录中,在程序中读取id列表,创建excel工作簿:
f=xlwt.Workbook() #创建工作簿
sheet1=f.add_sheet('Sheet 1') #创建sheet
fd=file('user_id.txt'