使用python爬取知乎关注马某腾的用户

    科技2024-04-04  89

    地址:

    https://www.zhihu.com/people/ponyma/followers?page=1

    思路:

    """ 思路: 1.确定数据所在的url地址 2.发送url地址对应的请求 3.解析要的数据 4.数据保存 """

    全部代码:

    #调用模块 import requests import re import csv file = open('知乎用户.csv',mode='a',encoding='utf-8',newline='') #头信息(csv) csv_writer = csv.DictWriter(file,fieldnames=['名称','头像地址','回答','文章','关注者']) csv_writer.writeheader() #循环输出前4页的用户信息 for i in range(1,5): url = "https://www.zhihu.com/people/ponyma/followers?page={}".format(i) headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36" } #网页源代码 response = requests.get(url,headers=headers) html_data = response.text #正则匹配 result_list = re.findall('\{"id":.*?"isRealname":.*?\}',html_data) #循环输出用户的各种信息 for data in result_list: name = re.findall('"name":"(.*?)"',data)[0] avatarUrlTemplate = re.findall('"avatarUrlTemplate":"(.*?)"',data)[0].encode().decode('unicode_escape') followerCount = re.findall('"followerCount":(.*?),', data)[0] answerCount = re.findall('"answerCount":(.*?),', data)[0] articlesCount = re.findall('"articlesCount":(.*?),', data)[0] print(name,avatarUrlTemplate,followerCount,answerCount,articlesCount) d_data = {'名称':name,'头像地址':avatarUrlTemplate,'回答':followerCount,'文章':answerCount,'关注者':articlesCount} #内容数据(csv) csv_writer.writerow(d_data) #关闭 file.close()
    Processed: 0.013, SQL: 8