pyspider爬取tripadvisor
首先装pymongo,pyspider,具体安装方法不讲解,然后
命令行下执行
pyspider all
这句命令的意思是,运行 pyspider 并 启动它的所有组件。
可以发现程序已经正常启动,并在 5000 这个端口运行。
下来在浏览器中输入 http://localhost:5000,可以看到 PySpider 的主界面,点击右下角的 Create,命名为 pyshiderlianxi,当然名称你可以随意取,继续点击 Create。
整个页面分为两栏,左边是爬取页面预览区域,右边是代码编写区域。下面对区块进行说明:
左侧绿色区域:这个请求对应的 JSON 变量,在 PySpider 中,其实每个请求都有与之对应的 JSON 变量,包括回调函数,方法名,请求链接,请求数据等等。
绿色区域右上角Run:点击右上角的 run 按钮,就会执行这个请求,可以在左边的白色区域出现请求的结果。
左侧 enable css selector helper: 抓取页面之后,点击此按钮,可以方便地获取页面中某个元素的 CSS 选择器。
左侧 web: 即抓取的页面的实时预览图。
左侧 html: 抓取页面的 HTML 代码。
左侧 follows: 如果当前抓取方法中又新建了爬取请求,那么接下来的请求就会出现在 follows 里。
左侧 messages: 爬取过程中输出的一些信息。
右侧代码区域: 你可以在右侧区域书写代码,并点击右上角的 Save 按钮保存。
右侧 WebDAV Mode: 打开调试模式,左侧最大化,便于观察调试。
#!/usr/bin/env python # -*- encoding: utf-8 -*- # Created on 2018-08-23 08:49:39 # Project: pyspiderlianxifrom pyspider.libs.base_handler import * import pymongoclass Handler(BaseHandler):crawl_config = {}client = pymongo.MongoClient(host='localhost',port=27017)db = client['trip']@every(minutes=24 * 60)def on_start(self):self.crawl('https://www.tripadvisor.cn/Attractions-g294211-Activities-c47-China.html', callback=self.index_page,validate_cert=False) #爬取索引页@config(age=10 * 24 * 60 * 60)def index_page(self, response):for each in response.doc('div.listing_info > div.listing_title > a').items():self.crawl(each.attr.href, callback=self.detail_page,validate_cert=False)爬取详情页#@config(priority=2)def detail_page(self, response):url = response.url,title = response.doc('title').text(),name = response.doc('#HEADING').text(),paiming = response.doc('span.header_rating > div > a > span').text(),phonenum = response.doc('div.blEntry.phone > span:nth-child(2)').text(),dizhi = response.doc('div.detail_section.address.xh-highlight').text(),youwanshijian = response.doc('#taplc_attraction_detail_listing_0 > div.section.hours > div').text() return {"url":url,"title":title,"name":name,"paiming":paiming,"phonenum":phonenum,"dizhi":dizhi,"youwanshijian":youwanshijian}#结果存入数据库中def on_result(self,result):if result:self.save_to_mongo(result)def save_to_mongo(self,result):if self.db['chinastrip'].insert(result):print('save to mongo',result)
转载于:https://www.cnblogs.com/lmx123/p/9521683.html
pyspider爬取tripadvisor相关推荐
- pyspider爬取王者荣耀数据(上)
咪哥杂谈 本篇阅读时间约为 8 分钟. 1 前言 不知道还有多少人记得几个月前写的两篇文章,介绍关于 PyQuery 入门使用的教程.忘记的朋友,可以去回顾下用法: 爬虫神器之 PyQuery 实用教 ...
- pyspider爬取王者荣耀数据(下)
咪哥杂谈 本篇阅读时间约为 4 分钟. 1 前言 本篇来继续完成数据的爬取.离上周文章已经过了一星期了,忘记的可以回顾下:<pyspider爬取王者荣耀数据(上)> 上篇文章中写到的,无非 ...
- 使用pyspider爬取巨量淘宝MM图片
版权声明:本文可能为博主原创文章,若标明出处可随便转载. https://blog.csdn.net/Jailman/article/details/79354568 具体搭建步骤不再赘述,这里主要使 ...
- 二十八、Pyspider 爬取链家网
@Author:Runsen 文章目录 Pyspider框架介绍 Pyspider框架安装 pypsider入门 爬取目标(链家网) Pyspider框架介绍 Pyspider 是个强大的由pytho ...
- 二十九、Pyspider爬取v2Ex网的python帖子
@Author:Runsen Pyspider是一个国人编写的强大的网络爬虫系统并带有强大的WebUI.采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监 ...
- pyspider 爬取bing壁纸
附pyspider安装过程 目标页面 https://bing.gifposter.com/list/new/desc/classic.html?p=1 #!/usr/bin/env python # ...
- 用python3的pyspider爬取国家统计局的行政区域(只到乡镇级,更新到2017年)
按某个省的行政区域爬虫 一.爬虫遇到的问题 1.Mysql中文乱码问题: 2.pyspider的config设置问题 二.准备工作 1.安装pyspider.pymysql 2.新建3个mysql的库 ...
- pyspider爬取免费正版图片网站Pixabay
前言: 许多网友贡献了不少的爬取妹子图片,豆瓣电影的教程,开始学爬虫的时候也少不了参考各位大佬的代码和填坑的经验!这次打算原创出一个爬取国外比较大的图片网站Pixabay 之所以选择该网站 第一:Pi ...
- 网络字体反爬之pyspider爬取起点中文小说
这段时间正在看爬虫框架-pyspider,觉得这种网站用框架还是很方便的,所以今天就给大家带来这篇---起点中文网小说爬取.可视化我们放到下一集. 加vx:tanzhouyiwan或qq群813622 ...
- 【Python3 爬虫学习笔记】用PySpider爬取虎嗅网并进行文章分析
–转自<1900-高级农民工>http://www.makcyun.top 安装并运行pyspider 安装pyspider pip3 install pyspider 运行pyspide ...
最新文章
- kernel vim阅读 设置tags的标签
- 联科集团携手阿里云发布科研混合云平台 共建科研教育新生态
- gin 优雅重启或停止
- 【转】TcpListener和tcpclient使用
- Docker原理之CGroups
- 深度学习(十七)基于改进Coarse-to-fine CNN网络的人脸特征点定位
- 10个问题让你快速避开java中的jdbc常见坑
- 2016届毕业生-毕业设计的相关事项
- 零基础学习.NET平台和Csharp编程开发
- Cisco ASA Web ××× 配置详解
- 【爬虫】编码问题总结
- 安全扫描工具 Netsparker
- 如何格式化写保护的U盘(删除多个盘的U盘)
- Retrofit,RecyclerViewMVP模式
- *.dfm resource kept;file *.dfm resource discarded
- 解决微信上下滑动出现黑底背景问题
- 微信退款服务器系统失败怎么办,微信退款多久到账?微信退款不成功怎么办?...
- 网站性能测试基本指标
- 一条SQL语句执行成本的计算
- 混合驱动的神经网络动态逆无人机机动飞行控制