pyspider爬取外卖信息求高手指导
准备9月份开学给学生们讲一下爬虫,激发学生的学习兴趣。比较pyspider、Pholcus、WebCollector等开源爬虫框架,最后还是选择pyspider来制作演示例子,因为不用编译、框架强大、编码直观。但是困难也是显而易见的,没接触过python语法和库都不熟,html也是10年前的认知ajax、json等只知道原理没开发经验。这几日都在看帖子重新摸索。
环境搭建上尝试了几日发现windows下使用python2.7.12 32位版运行pyspider最稳定。css选择器和webDAV都能正常使用。
环境搭建方法:安装python2.7.12 32位版;安装anaconda2 4.1.1 32位版;phantomjs-2.1.1解压后phantomjs.exe拷贝到anaconda下的script目录。下载lxml-3.6.2-cp27-cp27m-win32.whl在pip下安装,顺利用pip安装pyspider
爬取的目标是美团外卖各店的外卖菜名、价格及销量。通过浏览器访问美团外卖,输入地址就可以罗列出周边外卖店,点击一家外卖店就罗列出菜名、价格和销量。爬取起始链接输入地名定位后得到的链接
外卖店的链接http://waimai.meituan.com/res...
下面说说问题:
on_star 爬取起始链接发现只加载20条数据,每次滚动条拖到页底触发ajax多加载20条。点击按销量排序也触发ajax ajax地址 方法post 使用cookie提交参数。 我想这样设计先GET请求一次起始链接,获得cookie后模拟ajax post请求一次按销量排序,再多次请求ajax加载更多店面。这里该怎么写?response.cookie 没找到例子
爬取店内菜品、价格和销量 DIV的class名称不一致,怎么才能迭代?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
推荐给你,使用fiddler这个工具,先启动这个工具,再在浏览器中输入网址,这个时候,会记录下HTTP交互的内容,这里发送的内容就是你的输入参数,而返回的数据,就是你要解析的数据。
研究了两天,写出来了,基础知识薄弱就是纠结。但是这个程序里全局变量OFFSET作用域不对,list_page调用自身的时候OFFSET居然重新为1了,百撕不得骑姐。还有爬虫获取的商铺列表和浏览器看到的列表不一样。也不知道具体原因。
输出结果:
{'url': 'http://waimai.meituan.com/res...',
'店名': u'天福香(埌西店)',
'地址': [u'南宁市金洲路埌西二组13栋9号',
'销量': [{'价格': u'¥14/2两',
看到你的提问和爬取的内容发现是来自南宁的友仔!看到那些老友系列深感亲切!
我最近刚刚接触2个月 了解到一些 总结了一点点规律 是这样的
打开网页出现的一般标签正常的是可以用pyspider response.doc直接爬取
如果是js代码更改好出现的标签
需要在crawl的是时候加 fetch_type=js 可以加载出js加载出来的标签
可以尝试一下