简介 | 特性 | 技术架构 | 快速开始 | 使用说明 | 免责声明 | 附录 | 学习交流
一个基于进程池的房天下爬虫项目,严禁将所得数据商用,本项目只供学习使用,作者不承担任何由此带来的法律风险和损失! 同类采集链家网小区项目
- 支持Python3.6+版本
- 支持数据存储sqliteDB中
- 支持导出Excel
- 支持自定义区域(省、市、区)采集
- Python3.6+
- request
- lxml的xpath解析
- sqlite
- 打开一个需要滑块验证码的URL,手工进行滑块验证
- 验证通过后,通过playwright保存cookie.json
- 再次使用playwright打开chromium内核浏览器,打开别的地址,然后通过page.content()获取当前页面源码
- 根据请求结果使用lxml解析HTML源码获取想要的字段数据
从 releases页面下载对应可执行程序,双击运行
- clone本项目代码
- 在项目根目录创建Python虚拟环境venv
cd fang_spider
pip install virtualenv
virtualenv venv
- 安装依赖库
pip install -r requirements.txt
- 安装playwright的chromium浏览器引擎,注意:先设置驱动安装路径,默认情况下playwright会安装C盘用户目录下,这样会导致pyinstaller打包的时候找不到chrome.exe程序
- 设置驱动安装路径
set PLAYWRIGHT_BROWSERS_PATH=0
其中0表示安装在当前目录,建议在项目根目录下执行该命令 - 安装对应浏览器驱动
playwright install chromium
只安装自己所需浏览器即可,不用安装所有浏览器,否则打包exe文件太大 - 打包命令
pyinstaller --onefile --clean --noconfirm -n Fang-0.0.1-windows-x86_64 fang.py
- 设置驱动安装路径
- 运行
python fang.py
- 根据提示输入对应信息采集,如下示例:
######################################################################################################################
免责声明
此工具仅限于学习研究,用户需自己承担因使用此工具而导致的所有法律和相关责任!作者不承担任何法律责任!
######################################################################################################################
如果您同意本协议, 请输入Y继续: (y/n) y
功能选项:
1. 按区域采集并导出
2. 区域信息初始化
请输入功能序号: 1
请输入省份名称(必填): 广西
请输入省份下城市名称(可选): 玉林
请输入省份下城市下区域名称(可选):
请在20s内滑动验证码......
开始采集[广西-玉林]区域下数据...
[2023-11-14 14:39:54] (0/14) https://yl.esf.fang.com/loupan/2918228400/housedetail.htm
[2023-11-14 14:39:55] (1/14) https://yl.esf.fang.com/loupan/2918228416/housedetail.htm
[2023-11-14 14:39:56] (2/14) https://yl.esf.fang.com/loupan/2918230480/housedetail.htm
[2023-11-14 14:39:57] (3/14) https://yl.esf.fang.com/loupan/2918235820/housedetail.htm
[2023-11-14 14:39:57] (4/14) https://yl.esf.fang.com/loupan/2918242386/housedetail.htm
[2023-11-14 14:39:59] (5/14) https://yl.esf.fang.com/loupan/2918242896/housedetail.htm
[2023-11-14 14:39:59] (6/14) https://yl.esf.fang.com/loupan/2918242898/housedetail.htm
[2023-11-14 14:40:00] (7/14) https://yl.esf.fang.com/loupan/2918243034/housedetail.htm
[2023-11-14 14:40:00] (8/14) https://yl.esf.fang.com/loupan/2918243698/housedetail.htm
[2023-11-14 14:40:01] (9/14) https://yl.esf.fang.com/loupan/2917195882/housedetail.htm
[2023-11-14 14:40:02] (10/14) https://yl.esf.fang.com/loupan/2917195890/housedetail.htm
[2023-11-14 14:40:03] (11/14) https://yl.esf.fang.com/loupan/2917195922/housedetail.htm
[2023-11-14 14:40:05] (12/14) https://yl.esf.fang.com/loupan/2917195924/housedetail.htm
[2023-11-14 14:40:05] (13/14) https://yl.esf.fang.com/loupan/2917195926/housedetail.htm
[2023-11-14 14:40:05] 导出成功:广西-玉林数据_1699944005.xlsx
程序运行完成...
Process finished with exit code 0
- 程序运行时会使用sqlite数据库存储当前采集的所有数据信息
- 数据库文件
fang.db
- 数据库表参考
fang.py
里create_table()函数内容
- 数据库文件
目前程序只测试采集每个小区的楼栋数,小区数,小区地址,可根据需要修改代码采集更多字段 可修改get_xiaoqu_detail
函数中已获取了所有标签数据,通过get_specific_value(xiaoqu_detail, '
房屋总数')函数获取的部分标签
get_specific_value(xiaoqu_detail, '房屋总数')
请勿将fang_spider
应用到任何可能会违反法律规定和道德约束的工作中,请友善使用fang_spider
,遵守蜘蛛协议,不要将fang_spider
用于任何非法用途。如您选择使用fang_spider
即代表您遵守此协议,作者不承担任何由于您违反此协议带来任何的法律风险和损失,一切后果由您承担。
扫码入群交流学习,如群二维码失效请加作者微信:FearlessMan888,备注:python群