从零开始的爬虫学习(三)爬取知乎用户信息

本篇内容:
1.提取知乎可用的请求信息。
2.爬取单个知乎用户的关注者列表。

1.提取知乎可用的请求信息。
问题:爬虫访问知乎网站时,被检测出非人行为,强行跳转到另一个非相关网页,
解决方法:修改header信息,根据实际浏览器信息修改。

这个是我们爬取的第一个用户主页。在这里插入图片描述
左下角可以看到他的关注者有769人,点击关注者就能看到更详细的用户信息。在这里插入图片描述
扬州田鸡等用户的url,可以通过此方法爬取,之后只要重复上述步骤就能完成爬取用户工作。
通过对网页源代码进行分析就可以知道,我们需要的url 分别在这两个网页的这两个标签中。

bs.find('div', class_='NumberBoard FollowshipCard-counts NumberBoard--divider').find_all('a')
bs.find('div',class_='List').find_all('a',class_='UserLink-link')

之后,就按计划完善即可。
图中遇到的问题就是被强制跳转到其他网页了。
你需要一个更加真实的header。
使用chrome的工具对网页真实请求进行分析。
在这里插入图片描述
可以看到header的信息,把它作为爬虫的header,就能实现对知乎的访问了。

由于涉及个人信息安全,这里就不提供全部代码了。
有兴趣的同学可以,按下面的不完全代码进行修改,共同学习,共同进步。
其中并没有用代理,可以把代理语句删掉,或将这个header换为你的header。

# -*- coding: utf-8 -*-

import sys
sys.path.append('../lib')
from  lib_demo import get_proxie
import requests
from bs4 import BeautifulSoup
import random
import time
import socket
import http.client

def get_content(url, data = None):
    timeout = random.choice(range(80,180))
    while True:
        try:
            response = requests.get(url, headers=headers, timeout=timeout)
            status =
### 多元高斯模型Python中的实现 多元高斯分布是多变量正态分布在多个维度上的推广,在机器学习数据分析领域有着广泛应用。对于多元高斯模型的应用,可以用于异常检测、聚类以及作为其他复杂模型的基础组件。 #### 使用`scikit-learn`库构建多元高斯模型 为了简化开发流程并提高效率,推荐使用成熟的第三方库如 `scikit-learn` 来快速搭建多元高斯模型[^1]。下面是一个简单的例子来说明如何创建一个基于多元高斯分布的概率估计器: ```python from sklearn.datasets import make_blobs import numpy as np from scipy.stats import multivariate_normal import matplotlib.pyplot as plt # 创建模拟数据集 X, _ = make_blobs(n_samples=300, centers=[[0, 0], [-4, -4], [4, 4]], cluster_std=[0.8, 1.2, 0.6]) # 计算均值向量μ和协方差矩阵Σ mu = X.mean(axis=0) sigma = np.cov(X.T) # 定义多元高斯分布对象 rv = multivariate_normal(mu, sigma) # 可视化原始数据及其对应的概率密度函数 plt.scatter(X[:, 0], X[:, 1]) x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5 y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5 xx, yy = np.meshgrid(np.linspace(x_min, x_max, 100), np.linspace(y_min, y_max, 100)) pos = np.dstack((xx, yy)) plt.contour(xx, yy, rv.pdf(pos)) plt.show() ``` 这段代码展示了怎样通过计算样本集合的平均数和协方差矩阵来定义一个多维随机变量,并绘制出该分布下的等高线图以直观展现不同位置处的可能性大小。 #### 超参数调整与优化 值得注意的是,虽然这里并没有涉及到显式的训练过程(因为这是一个无监督的学习方法),但在实际应用中可能还需要考虑选择合适的核函数以及其他超参数设置问题[^3]。例如,在某些情况下可能会引入额外的约束条件或者采用特定类型的先验知识来进行更精确地拟合目标分布特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值