# zhihu_fun
> 基于 Selenium 的知乎关键词爬虫,仅支持 Python 3
## Demo




## 安装配置
### 安装 phantomjs
`zhihu_fun` 依赖 `phantomjs`, 且版本必须大于 2.1
```shell
$ wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
$ tar xf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /opt/
$ ln -sv /opt/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/bin/ # 确保 phantomjs 在 system PATH 路径下
```
### 配置 Nginx
```shell
# 确保 autoindex 和 charset 被正确配置
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html/zhihu_fun;
autoindex on;
index index.html index.htm;
charset UTF-8;
# Make site accessible from http://localhost/
server_name localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
}
```
### 获取 Cookie
正常登陆 zhihu, 通过浏览器开发者工具中的 `network` 选项,获取 `Cookie`

### 配置运行 zhihu_fun
```shell
$ python
Python 3.5.3 # 仅支持 Python
$ cd /usr/share/nginx/html/zhihu_fun
$ vim go.html # 修改 <base href="http://localhost:8000"> 的地址为你当前的地址
$ pip install -r requirements.txt # 安装依赖
$ vim zhihu_fun/config.py # 修改 Cookie 为你的 Cookie, 或者修改其他配置
$ python run.py # 运行爬虫
```
## 配置选项
配置文件为 `zhihu_fun/config.py`
```python
config = {
'start_url': 'https://www.zhihu.com/search?type=content&q=%E7%BE%8E%E8%85%BF', # 爬虫的起始路径,如果没有设置,则为 zhihu 主页
# 'start_url': '',
'cookie': 'You Cookie', # 登录知乎,复制浏览器的 Cookie
'root_url': 'https://www.zhihu.com',
'log_level': 'info', # support debug, info, warn
'custom_urls': ['https://www.zhihu.com/search?type=content&q=%E7%BE%8E+%E7%BE%8E%E5%A5%B3', # 支持提供自定义的 URL
'https://www.zhihu.com/topic/19552207/hot',
'https://www.zhihu.com/question/51603251',
'https://www.zhihu.com/question/51644416',
'https://www.zhihu.com/topic/20011035/hot'],
'keyword': ['美女', '萌', '女生', '腿长', '女性', # 根据问题标题匹配,再根据 key_number 的值,来判定匹配多少个关键词加入待爬队列
'日系', '可爱', '女神', '美腿', '成长',
'炼成', '吸引', '美', '健身', '丝袜',
'容貌', '拍照', '女生', '漂亮', '颜值',
'搭配', '长得', '好看', '衣服', '姑娘',
'穿', '俗气', '风格', '眼睛', '锻炼',
'感觉', '感受', '长的', '大学生'],
'blacklist': ['男生', '男性', '伪娘', '男友', '男人', '男朋友'], # 黑名单,如果问题标题匹配到黑名单中的词,则直接不匹配
'key_number': 2,
'vote_up': 10, # 根据答案的赞同数来判定是否爬取图片
'url_generate_time': 30 # 设置 url generate 运行的时间, 设置为 None 代表一直跑下去, 不能为 '', ""
```

MarcoPage
- 粉丝: 4671
最新资源
- MATLAB中高阶统计与改进小波块阈值用于微地震信号及其他领域信号降噪的方法研究
- Matlab中贝叶斯网络的结构与参数学习:因果推断模型的构建与应用 - 参数学习 (2025年)
- 产品思维30讲(1.同理心、2.机会判断、3.系统能力、4.用户体验、5.创新模式)
- 电力系统面向主动配电网新特征的状态估计方法研究:基于分布式电源接入的改进策略与多源量测融合系统设计(含详细代码及解释)
- 电力系统模块化多电平矩阵变换器(M3C)控制策略研究:从理论建模到特殊工况解决方案及实验验证(含详细代码及解释)
- 电力电子领域DAB变换器双向运行模型与单重移相控制策略解析
- 物联网基于无人机的WSN数据收集系统仿真:节点部署、分簇及能耗优化设计(含详细代码及解释)
- 库存管理基于模糊ABC-FSN分类法的企业库存优化:综合价值与消耗速度的精细化管理策略设计(含详细代码及解释)
- 全桥LLC仿真模型(MATLABSimulink)闭环设计指导与参数优化
- Tide潮汐网络空间资产搜索引擎-新潮信息TideSec团队开发的综合性网络安全监测平台-通过资产探测端口扫描指纹识别漏洞检测POC验证暗链监测DNS监控网站可用性检查敏感内容发现.zip
- 适用于多平台移植的 YOLOv8n 目标检测部署版本,含 ONNX、TensorRT 等且部署最简最快
- Matlab在综合能源系统程序定制中的关键技术与应用:园区规划调度、多主体博弈及分布式算法 分布式算法 实战版
- 边缘计算基于智能反射面的边缘计算卸载优化算法实现:通信与计算模型及仿真分析(含详细代码及解释)
- 机械工程膜盘型面曲线拟合精度分析与优化:基于迭代算法的误差控制及可视化评估系统设计文档(含详细代码及解释)
- 基于MATLAB的风光场景生成与概率距离快速削减方法(蒙特卡洛法) - 风光场景生成
- 机械加工基于运动学变换的砂轮位姿快速计算方法:立铣刀螺旋槽数控磨削优化(含详细代码及解释)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


