pyspider是一个强大的Python网络爬虫框架,下面是在Linux系统上安装pyspider的详细步骤:
首先确保你的系统已安装以下组件:
# 更新系统包
sudo apt update
sudo apt upgrade -y
# 安装基础依赖
sudo apt install -y python3 python3-dev python3-pip python3-venv \
curl libcurl4-openssl-dev libssl-dev libxml2-dev libxslt1-dev \
zlib1g-dev build-essential
推荐使用Python虚拟环境安装:
# 创建虚拟环境
python3 -m venv pyspider_env
source pyspider_env/bin/activate
# 安装pyspider
pip install pyspider
# 安装额外依赖(可选)
pip install pycurl cryptography pyopenssl ndg-httpsclient pyasn1
pyspider需要数据库支持,可以选择以下之一:
sudo apt install -y sqlite3
sudo apt install -y libmysqlclient-dev
pip install mysqlclient
sudo apt install -y libpq-dev
pip install psycopg2-binary
# 启动pyspider
pyspider
# 或者指定组件启动
pyspider all # 启动所有组件
pyspider scheduler # 只启动调度器
pyspider fetcher # 只启动抓取器
pyspider processor # 只启动处理器
pyspider result_worker # 只启动结果处理器
pyspider webui # 只启动Web界面
启动后,默认可以通过浏览器访问:
http://localhost:5000
创建配置文件 config.json
:
{
"webui": {
"port": 5000,
"username": "admin",
"password": "admin",
"need-auth": true
},
"scheduler": {
"xmlrpc-host": "0.0.0.0",
"delete-time": 3600
},
"fetcher": {
"xmlrpc-host": "0.0.0.0"
}
}
然后使用配置文件启动:
pyspider -c config.json all
安装pycurl报错:
pip install --no-cache-dir --compile --install-option="--with-openssl" pycurl
缺少PhantomJS(如果需要JavaScript渲染):
sudo apt install -y phantomjs
端口冲突: 修改默认端口或停止占用端口的服务
权限问题: 使用非root用户运行时可能需要调整权限
如果你更喜欢使用Docker:
# 拉取官方镜像
docker pull binux/pyspider
# 运行容器
docker run -d -p 5000:5000 --name pyspider binux/pyspider
希望这个指南能帮助你在Linux系统上成功安装pyspider!