python3 爬虫爬取深圳公租房轮候库(深圳房网)
深圳公租房轮候库已经朝着几十万人的规模前进了,这是截至16年10月之前的数据了,贴上来大家体会下

所以17年已更新妥妥的10W+
今天就拿这个作为爬虫的练手项目
1、环境准备:
操作系统:win10
python版本:python3.5.3
开发工具:sublime 3
python需要安装的库:
anaconda 没安装的可以去https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/这里下载,国内镜像比较快;
Requests urllib的升级版本打包了全部功能并简化了使用方法(点我查看官方文档)
beautifulsoup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.(点我查看官方文档)
LXML 一个HTML解析包 用于辅助beautifulsoup解析网页
Requests ,beautifulsoup ,LXML 模块安装方式:windows的命令提示符窗口输入以下代码即可
pip install requests pip install beautifulsoup4 pip install lxml
直接贴代码吧
import requests
from bs4 import BeautifulSoup
import os
class Gongzufang():
#获取页面数据
def all_url(self,url):
html = self.request(url)
all_a = BeautifulSoup(html.text, 'lxml').find('table', class_='sort-tab').find_all('tr')
for a in all_a:
title = a.get_text("|", strip=True)
print(title)
#self.save_data(url)
#获取分页面地址
def html(self, url):
html = self.request(url)
max_span = BeautifulSoup(html.text, 'lxml').find('div', class_='fix pagebox').find_all('a')[-3].get_text()
for page in range(1, int(max_span) + 1):
page_url = url + '/' + '0-'+str(page)+'-0-0-1'
self.all_url(page_url)
def save_data(self,data_url):#下载数据
pass
#获取网页的response 然后返回
def request(self, url):
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240','Connection': 'Keep-Alive','Referer':'http://www.mzitu.com/tag/baoru/'}
content = requests.get(url, headers=headers)
return content
#实例化
Gongzufang = Gongzufang()
#给函数all_url、html传入参数 你可以当作启动爬虫(就是入口)
Gongzufang.html('http://anju.szhome.com/gzfpm')
Gongzufang.all_url('http://anju.szhome.com/gzfpm')
结果如下:

后续:
结果爬到6w+的时候出现了个偏僻字:。。
衬衫哥决定不填这个坑,反正只是想爬身份证的信息。。
修改后的代码如下:
# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup
#import os
import re
#import sys
#import io
#sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030')
class Gongzufang():
#获取页面数据
def all_url(self,url):
html = self.request(url)
all_a = BeautifulSoup(html.text, 'lxml').find('table', class_='sort-tab').find_all('tr')
#all_a = BeautifulSoup(html.text, 'lxml').find('table', class_='sort-tab').find_all('td')[0:9]
for a in all_a:
for find_td in a.find_all('td')[4:5]:
text_td = find_td.get_text("\r", strip=True)
print(text_td)
with open('d:/test.txt', 'a') as f:
print(text_td,file=f)
#print(title)
#获取分页面地址
def html(self, url):
html = self.request(url)
max_span = BeautifulSoup(html.text, 'lxml').find('div', class_='fix pagebox').find_all('a')[-3].get_text()
for page in range(1, int(max_span) + 1):
page_url = url + '/' + '0-'+str(page)+'-0-0-1'
self.all_url(page_url)
def save_data(self,data_url):#下载数据
pass
#获取网页的response 然后返回
def request(self, url):
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240','Connection': 'Keep-Alive','Referer':'http://www.mzitu.com/tag/baoru/'}
content = requests.get(url, headers=headers)
return content
#实例化
Gongzufang = Gongzufang()
#给函数all_url、html传入参数 你可以当作启动爬虫(就是入口)
Gongzufang.html('http://anju.szhome.com/gzfpm')
Gongzufang.all_url('http://anju.szhome.com/gzfpm')
现在又可以开始快乐的爬取数据了
python3 爬虫爬取深圳公租房轮候库(深圳房网)的更多相关文章
- 用Python爬虫爬取广州大学教务系统的成绩(内网访问)
用Python爬虫爬取广州大学教务系统的成绩(内网访问) 在进行爬取前,首先要了解: 1.什么是CSS选择器? 每一条css样式定义由两部分组成,形式如下: [code] 选择器{样式} [/code ...
- python3爬虫爬取网页思路及常见问题(原创)
学习爬虫有一段时间了,对遇到的一些问题进行一下总结. 爬虫流程可大致分为:请求网页(request),获取响应(response),解析(parse),保存(save). 下面分别说下这几个过程中可以 ...
- python3爬虫爬取煎蛋网妹纸图片(上篇)
其实之前实现过这个功能,是使用selenium模拟浏览器页面点击来完成的,但是效率实际上相对来说较低.本次以解密参数来完成爬取的过程. 首先打开煎蛋网http://jandan.net/ooxx,查看 ...
- python3 爬虫---爬取糗事百科
这次爬取的网站是糗事百科,网址是:http://www.qiushibaike.com/hot/page/1 分析网址,参数''指的是页数,第二页就是'/page/2',以此类推... 一.分析网页 ...
- python3 爬虫---爬取豆瓣电影TOP250
第一次爬取的网站就是豆瓣电影 Top 250,网址是:https://movie.douban.com/top250?start=0&filter= 分析网址'?'符号后的参数,第一个参数's ...
- python3爬虫-爬取新浪新闻首页所有新闻标题
准备工作:安装requests和BeautifulSoup4.打开cmd,输入如下命令 pip install requests pip install BeautifulSoup4 打开我们要爬取的 ...
- python3爬虫-爬取58同城上所有城市的租房信息
from fake_useragent import UserAgent from lxml import etree import requests, os import time, re, dat ...
- python3爬虫爬取猫眼电影TOP100(含详细爬取思路)
待爬取的网页地址为https://maoyan.com/board/4,本次以requests.BeautifulSoup css selector为路线进行爬取,最终目的是把影片排名.图片.名称.演 ...
- python3爬虫爬取煎蛋网妹纸图片(下篇)2018.6.25有效
分析完了真实图片链接地址,下面要做的就是写代码去实现了.想直接看源代码的可以点击这里 大致思路是:获取一个页面的的html---->使用正则表达式提取出图片hash值并进行base64解码--- ...
随机推荐
- Kali-linux安装并配置NVIDIA显卡驱动
显卡驱动程序就是用来驱动显卡的程序,它是硬件所对应的软件.驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息.有了此信息,计算机就可以与设备进行通信.驱动程序是硬件厂商根据操作系统编写 ...
- Ajax实例二:取得新内容
Ajax实例二:取得新内容 通过点击pre和next按钮,从服务器取得最新内容. HTML代码 <div id="slide">图片显示区</div> &l ...
- Nginx 作为静态资源服务器
Nginx Windows 版本的启动停止,重新加载配置 启动 Windows版本下载解压后有一个nginx.exe可执行文件,双击启动. 启动后 浏览器访问http://127.0.0.1 可以看到 ...
- Reading Notes : 180212 冯诺依曼计算机
读书<计算机组成原理>,百度百科 现在大部分接触过计算机的人,都会知道冯诺依曼计算机,但是这个概念是怎么来的呢?本节我们就通过聊一下计算机的存储程序控制,来认识”冯诺依曼”. 存储程序控制 ...
- 06 hash join (Oracle里的哈希连接原理)
hash join (Oracle里的哈希连接原理) 2015年09月25日 17:00:28 阅读数:2188 哈希连接(HASH JOIN)是一种两个表在做表连接时主要依靠哈希运算来得到连接结果集 ...
- Epub 阅读器 - iOS
因项目需求接触的 EPub 阅读器,前前后后尝试了很多库,最后找到了个相对兼容不错的展开了调试;其中对解压缩和数据加载方面进行了改造优化,使其更加的完美; 其大概原理是首先将 epub 文件解压后得到 ...
- React-Reflux 基础分享
因工作需要使用 React + Reflux 开发,最近几天都在努力学习着,特别是 Reflux,在网上查找的许多资料和 github 上的文档年代都有点久远,JavaScript 按照目前的节奏,更 ...
- 2018 CVTE 前端校招笔试题整理
昨天晚上(7.20)做了CVTE的前端笔试,总共三十道题,28道多选题,2道编程题 .做完了之后觉得自己基础还是不够扎实,故在此整理出答案,让自己能从中得到收获,同时给日后的同学一些参考. 首先说一下 ...
- webstorm如何支持markdown
首先安装markdown 插件 第一个即可.
- 『ACM C++』 Codeforces | 1066A - Points in Segments
大一生活真 特么 ”丰富多彩“ ,多彩到我要忙到哭泣,身为班长,很多班级的事情需要管理,也是,什么东西都得体验学一学,从学生会主席.团委团总支.社团社长都体验过一番了,现在差个班长也没试过,就来体验了 ...