该脚本仅用于爬虫技术的学习,如果你有好的功能或者想法,欢迎提交pr
具体实现过程请看携程热门景区评论爬取过程
1️⃣实现方法通过获取携程首页每个省的数据获取每个省的城市,当然如果没有你也可在city.json添加或者删除城市。获取每个城市的热门景区使用线程池爬取对应景区的评论2️⃣功能支持列表 爬取指定省份的所有城市 获取每个城市的热门景区 提取的评论保存为excel 使用线程池自定义控制爬取评论速度 支持使用代理和随机ua ...3️⃣使用方法1.克隆到本地git clone https://github.com/aglorice/CtripSpider.git2.进入目录cd CtripSpider3.安装依赖pip install -r requirements.txt4.运行generate_city.py生成每个省份的城市的json文件city.jsonpython generate_city.py5.运行create_file.py根据city.json数据生成每个省份的城市的文件夹python create_file.py6.运行main.py开始爬取python main.py7.如果需要统计你爬的数据有多少,请运行get_all_excel_file_data.pypython get_all_excel_file_data.py🐞🐞🐞经过尝试,携程是有反爬的,建议使用代理池,本项目使用proxy_poolconfig.py
# 爬取指定省份内的所有地区景点的评论数据AREAS = ['四川']# 爬取评论时每页的数据PAGESIZE = 20# 爬取评论的页数MAX_PAGE = 300# 是否启动代理IS_PROXY = False# 是否启动随机UAIS_FAKE_USER_AGENT = False# 是否启动验证sslIS_VERIFY = False# 是否要覆盖已经保存的excel文件IS_OVER = False# 延时时间(城市)CITY_SLEEP_TIME = 10# 景区之间的休眠时间SCENE_SLEEP_TIME = 10# 线程池数量POOL_NUMBER = 50# 请求超时时间TIME_OUT = 5city.json
如果运行generate_city.py 没有获取到你需要的城市,你也可以选择手动添加,只需要符合格式即可。
{ "city": [{ "name": "四川", "city": [{ "name": "成都", "url": "https://you.ctrip.com/place/chengdu104.html"} ]} ]}scene_info.json景区信息
{ "name": "陡坡塘瀑布", "url": "https://gs.ctrip.com/html5/you/sight/518/17686.html", "resourceId": "17686", "comment_total": 790, "comment_score": 4.6, "heat_score": "6.3", "tag_name": ["游山玩水" ], "poi_Level": "", "is_free": false}运行示例统计评论信息excel文件4️⃣注意事项仓库发布的CtripSpider项目中涉及的任何脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。本项目遵循MIT License协议,如果本