抓取安居客二手房经纪人数据,python爬虫自动翻页
2016-12-30 00:00
309 查看
和链接不一样,安居客网站里面没有找到总页数,可能在json里面有,只是我没有找到。
基于此能不能做网页的循环爬取呢。
能否判断页面读取完毕进行自动翻页?
查询了一些资料后得出了如下代码:
[caption id="attachment_85" align="alignnone" width="300"]<img src="http://www.nigaea.com/wp-content/uploads/2016/12/WX20161222-180257-300x91.png" alt="抓取安居客二手房经纪人数据,python爬虫自动翻页" width="300" height="91" class="size-medium wp-image-85" /> 抓取安居客二手房经纪人数据,python爬虫自动翻页[/caption]
注意:
为了快速测试current_url中p1可以修改为p200。
这个程序主要是学习在无法得知总的页面数的时候,如何抓取所有页面。
欢迎到我博客吐槽,code有很多不优雅。http://www.nigaea.com/dataanalysis/84.html
基于此能不能做网页的循环爬取呢。
能否判断页面读取完毕进行自动翻页?
查询了一些资料后得出了如下代码:
import requests from lxml import etree current_url = 'http://chengdu.anjuke.com/tycoon/p1' headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'} allinfo = [] def getdata(url): resouce = requests.get(url,headers = headers) resouce.encoding = 'utf-8' selector = etree.HTML(resouce.text) return selector def claw_data_from_detail_page(selector,j): info = {} str = '//*[@id="list-content"]/div[%s]'%j info['person'] = selector.xpath(str+'/div[1]/div/h3/a/text()')[0] info['phone'] = selector.xpath(str+'/div[2]/text()')[1].strip() return info while True: # 下载页面 page = getdata(current_url) print("正在爬取" + current_url) # 根据我们定义的selector选择感兴趣的页面元素列表 data_list = page.xpath('//*[@id="list-content"]/div') # 如果这个页面选择不到元素了,说明我们已经读取完了 # 也可以计算页面元素数量的最大值,比如你第一页爬到了10个元素 # 当你到了第N页,你只爬到了2个,说明这就是最后一页了 if len(data_list) == 0: break # 对每一个元素,我们把它放进另一个函数中读取 i=0 for data in data_list: i += 1 info = claw_data_from_detail_page(data,i) allinfo.append(info) # 当这一页完成的时候,我们就更新一下当前页面的url地址, # 回到while loop最开始的地方开始下一页 end = page.xpath('/html/body/div[6]/div[2]/div[3]/div/i[@class="iNxt"]') if len(end)>0: break current_url = page.xpath('/html/body/div[6]/div[2]/div[3]/div/a[@class="aNxt"]/@href')[0] print(allinfo)
[caption id="attachment_85" align="alignnone" width="300"]<img src="http://www.nigaea.com/wp-content/uploads/2016/12/WX20161222-180257-300x91.png" alt="抓取安居客二手房经纪人数据,python爬虫自动翻页" width="300" height="91" class="size-medium wp-image-85" /> 抓取安居客二手房经纪人数据,python爬虫自动翻页[/caption]
注意:
为了快速测试current_url中p1可以修改为p200。
这个程序主要是学习在无法得知总的页面数的时候,如何抓取所有页面。
欢迎到我博客吐槽,code有很多不优雅。http://www.nigaea.com/dataanalysis/84.html
相关文章推荐
- 【爬虫】python 抓取百度百科 简介 导出txt(含自动翻页)(安装chromdriver)未完
- 一个极其简洁的Python网页抓取程序,自动从雅虎财经抓取股票数据
- [python和大数据-1]利用爬虫登录知乎进行BFS搜索抓取用户信息本地mysql分析【PART1】
- python抓取数据 常见反爬虫 情况
- Python爬虫抓取动态数据
- [ python3 ] 基于zabbix 自动抓取每天监控数据
- python&php数据抓取、爬虫分析与中介,有网址案例
- python requests 自动管理cookie, session保持连接,抓取数据后结束
- python爬虫---post抓取查询数据简单说明
- 07-爬虫的多线程调度 | 01.数据抓取 | Python
- python写爬虫2-数据抓取的三种方式
- Python爬虫框架Scrapy实战之抓取户外数据
- Python爬虫抓取手机APP的传输数据
- Python爬虫实例2-多线程爬虫抓取糗事百科数据
- Python爬虫处理抓取数据中文乱码问题
- python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例
- Python爬虫:抓取手机APP的传输数据
- python爬虫抓取新华网新闻并自动生成word文档
- 小试Python——爬虫抓取大众点评上的数据
- python爬虫"Hello World"级入门实例(二),使用json从中国天气网抓取数据