关于使用python爬取房天下数据 70C

由于论文需要,想要爬取房天下的二手房,于是修改简书上竹间为简的租房代码进行爬取。
修改后的代码为


from bs4 import BeautifulSoup
import urllib
import gzip
import inspect
import re
import pandas as pd
from multiprocessing.dummy import Pool as ThreadPool
import datetime
import sqlite3
from time import sleep
from random import choice
#网页解压缩
def read_zip_url(url):
fails = 0
while fails < 5:
try:
content = urllib.request.urlopen(url).read()
content = gzip.decompress(content).decode("gb18030") #网页gb2312的编码要用这个
break
except:
fails += 1
print(inspect.stack()[1][3] + ' occused error')
soup = BeautifulSoup(content, "lxml")
return soup
#划分城区
starturl = "http://esf.km.fang.com/house/i31/"
soup = read_zip_url(starturl)
area_first_soup = soup.find_all('div',id = 'list_D02_10')[0].find_all('a')
del area_first_soup[-2]
del area_first_soup[0]
area_first = [] 
for i in area_first_soup:
area_first.append("http://esf.km.fang.com" + i.get('href'))
#按价格划分
area_second = [] 
for i in area_first:
soup = read_zip_url(i)
area_second_soup = soup.find_all('li',id = 'list_D02_11')[0].find_all('a')
del area_second_soup[0]
for i in area_second_soup:
area_second.append("http://esf.km.fang.com" + i.get('href'))
#按房屋类型划分
area_third = [] 
def area_third_func(li):
soup = read_zip_url(li)
area_third_soup = soup.find_all('li',id = 'list_D02_13')[0].find_all('a')
del area_third_soup[0]
for i in area_third_soup:
area_third.append("http://esf.km.fang.com" + i.get('href'))
pool = ThreadPool(4)
pool.map(area_third_func, area_second)
pool.close()
pool.join()
area_fourth = [] 
def area_fourth_func(li):
soup = read_zip_url(li)
if soup.find(text=re.compile("很抱歉")) == None:
pagenum1 = soup.find_all('span', class_ = 'txt')[0].get_text()
pagenum = int(re.findall(r'\d+',pagenum1)[0])
splitted = li.split('-')
for j in range(1, int(pagenum)+1):
new_url = (splitted[0]+ '{0}' + splitted[1] + '{0}' + splitted[2]+ '{0}' + 'i3{1}').format('-',j)
area_fourth.append(new_url)
pool = ThreadPool(4)
pool.map(area_fourth_func, area_third)
pool.close()
pool.join()
finalinks = [] 
def get_links(li):
soup = read_zip_url(li)
urlist = soup.select('a[href^="/chushou/"]')
for i in urlist:
href = 'http://esf.km.fang.com' + i.get('href')
if href not in finalinks:
finalinks.append(href)
sleep(0.1)
pool = ThreadPool(4)
pool.map(get_links, area_fourth)
pool.close()
pool.join()
today = datetime.date.today().strftime("%Y%m%d")
finalinks = pd.DataFrame(finalinks)
finalinks = finalinks.drop_duplicates()
finalinks.to_csv("%s" %'sf_links'+today + '.csv')


希望各位大大指导,感激不尽

0

2个回答

看下是不是代码有bug

0
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python爬取房天下信息
小白入手python爬取房天下数据,初识爬虫,加深对python的理解,上手更快。
Python爬虫案例3:爬取房天下房价等各种信息
爬取房天下网站,爬取的内容:区域、小区名、总价、房型、面积、单价、朝向、楼层位置、装修情况、建筑时间、是否有电梯、产权类型、住宅类型、发布日期信息保存:保存在csv中数据结果:1、先建立爬虫项目1)进入目标目录:cd 目标目录2)建立项目:scrapy startproject 爬虫项目名称3)进入爬虫项目目录,cd 爬虫项目所在的文件夹4)建立爬虫:scrapy genspider 爬虫名称 网
Python爬虫实战(1)-爬取“房天下”租房信息(超详细)
前言 先看爬到的信息: 今天主要用到了两个库:Requests和BeautifulSoup。所以我先简单的说一下这两个库的用法,提到的都是此文需要用到的。 Requests requests是一个很实用的Python HTTP客户端库。 下面通过一个例子来了解一下: 网址就用房天下的天津整租租房信息“http://zu.tj.fang.com/house/n31/” ...
详解Python爬取房天下的推荐新楼盘
点击上方“程序员大咖”,选择“置顶公众号”关键时刻,第一时间送达!最近一直在关注Python写爬虫相关的知识,尝试了采用requests + Beautiful Soup来爬取房天下(原搜房网)的推荐新楼盘。不用不知道,一用发现有惊喜也有惊吓,本文就一同记录下惊喜和踩的一些乱码的坑。首先,觉得Beautiful Soup解析网页更加符合人类的常规思维,比使用正则表达式(Python中的re库)更容
使用xpath包 爬取房天下信息,并存入excel
由于房天下房源并不是动态加载,属于静态页面,所以爬取起来非常简单,这是我们使用xpath 可以轻易获取信息,以下是爬取杭州新房信息源码,爬取内容为楼盘名称,地址,所在区以及价格# coding:utf-8 import requests, xlwt, sys from lxml import etree reload(sys) sys.setdefaultencoding('utf-8') #...
python爬虫房天下商品房数据
利用python编写了一个爬虫代码,爬取房天下商品房信息,可以更改链接地址,爬取其他信息
房天下房屋信息爬虫
Python 2.7,Scrapy 1.4.0 ,Scrapy_redis 0.6.8, Redis 3.2,用来做数据缓存和去重。MongoDB 3.4.3 ,用来存储最终爬取到的房源数据。pymongo 3.5.1,Python操作MongoDB的工具库。
小项目-数据爬取篇:scrapy-redis,手机网页,房天下租房信息,分布式,代理ip
scrapy-redis,手机网页,房天下租房信息,分布式,代理ip
【Python爬虫系列】Python 爬取搜房网二手房数据
用Python爬取搜房网二手房价格数据
java 爬取房天下房源数据
文章出处:点击打开链接 笔者说明~~~!!!只用于学习交流,私自用于其他途径,后果自负!!!  利用httpclient4.5模拟请求,jsoup进行页面解析   一、分析页面,确定需要爬取数据       如下图页面,每一页的url需要得到,同时需要得到该房源详细信息以及对应经纪人信息           二、由此创建如下类: /** * 房源信息 * @autho
Python 使用selenium爬取房天下网站,房源动态信息
在这里插入代码片 什么是Selenium selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器...
房天下网站爬取的武汉市小区数据
利用房天下网站,爬取武汉市小区数据,包括小区地址、平均房价、涨跌幅等
房天下全国658个城市新房,二手房爬取
房天下北京二手房分布式抓取: import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule from scrapy_redis.spiders import RedisCrawlSpider class LianjiaSpider(Redi...
房天下爬虫
fang.py # -*- coding: utf-8 -*- import json import re import scrapy from myspider_fangtianxia.items import MyspiderFangtianxiaItem class FangSpider(scrapy.Spider): name = 'fang' allowed_...
Python爬取房天下网站深圳房租信息入库并进行数据分析可视化
概述 请求库:requests HTML 解析:BeautifulSoup 词云:wordcloud 数据可视化:pyecharts 数据库:MongoDB 数据库连接:pymongo 爬虫思路&amp;amp;&amp;amp;页面解析 先爬取房某下深圳各个板块的数据,然后存进 MongoDB 数据库,最后再进行数据分析。  右键网页,查看页面源码,找出我们要爬取得部分 爬虫源代码...
Python爬取房价信息
Pyhon爬虫案例-----爬取北京房价,主要功能,爬虫,数据可视化。
scrapy 爬虫实战----爬取搜房网十六城市房产数据
流程 环境配置 python2.7 scrapy lxml pymysql mysql8.0 分析网页 chrome浏览器,F12开发人员工具,查看要爬取的元素标签的标志。 这里要爬取的内容包括用户发布的内容,小区名,小区地址,房子大小,几室几厅,几层,朝向,建筑年代,房价,均价等信息。 查看各个元素标签特征,方便写对应的xpath。 item定义 根据要爬取的...
分布式scrapy+redis 爬取房天下租房信息
利用scrapy框架结合redis分布式爬虫 #创建项目 scrapy startproject homepro #根据提示进入指定目录创建爬虫 scrapy genspider home example.com #spider爬虫 scrapy genspider -t crawl home example #crawlspider爬虫 其他不说直接行代码 items.py代码...
Python数据分析与机器学习实战(4)Python爬虫实例-抓取房天下房源信息
Python爬虫实例-抓取房天下房源信息 编译环境:anaconda Jupyter Notebook import requests from bs4 import BeautifulSoup 抓取每一个出售房子详细信息的url url = &amp;amp;quot;http://xian.esf.fang.com/&amp;amp;quot; res = requests.get(url) soup = BeautifulSoup(res...
简单的爬取土地信息(房天下)
在地产公司工作,常常要获取数据,有时候得手动复制粘贴,累得手抽筋。于是觉得这玩意儿应该能用编程解决,但是我编程完全不会,在抽屉新热榜(我不是打广告,我是重度抽屉用户)经常看到有人写个python脚本就把很多事儿干了,然后评论里说这个语言挺好学的,是所有语言里最亲民的了。 所以就开始学python,死马当活马医吧。 之前对编程的理解完全是大学里被逼着学的一点点C语言,大学时C语言挂了三次差点没能毕业...
诸葛找房房源信息爬取
import requests from bs4 import BeautifulSoup import pymongo import datetimeimport re lg = '15001927982ttcc'lgttcc = re.sub("\D", "", lg) headers={ 'UserAgent':'Mozilla/5.0 (Windows NT 6.1; WOW
Python爬取房产数据,在地图上展现!
欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定! 对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。 作者:欧巴        Python爱好者社区专栏作者知乎专栏:Pytho...
使用scrapy框架实现,房天下网站全站爬取,详情,动态,评论,户型,图片.
scrapy 实现代码,代码有点多,没有优化,,下面有链接,不懂得留言 Github全部代码,https://github.com/Agile929/scrapy_fang # -*- coding: utf-8 -*- import scrapy, json import math from lxml import etree from ..items import Dat...
Python 使用selenium爬取房天下网站,新房房源详情信息
from selenium import webdriver from selenium.webdriver.chrome.options import Options from time import sleep import json from datetime import datetime import re class Dpspider(object): def __init...
Python爬虫案例4:爬取上海各区学校以及其对口学区房信息
哪个区的市重点最多,哪个区的学区房最贵?终于自己爬虫搞定这些信息了。爬取的信息字段:region_name:学校所在区域school_name:学校名称school_type:学校类型(小学or中学等)school_level:学校等级(区重点、市重点、普通等)school_advantage:学校特色aver_price_m2:对应学区房均价(单价)public_private:学校性质(公立o
Python爬虫:获取链家,搜房,大众点评的数据
基于Python的Scrapy库开发的网络爬虫,用于爬取大众点评,链家,搜房的数据
Scrapy爬取二手房信息+可视化数据分析
本篇介绍一个scrapy的实战爬虫项目,并对爬取信息进行简单的数据分析。目标是北京二手房信息,下面开始分析。网页结构分析采用安居客网页信息作为二手房的信息来源,直接点击进入二手房信息的页面。每页的住房信息:点开链接后的详细信息:博主并没有采用分区域进行爬取,博主是直接进行全部爬取,然后循环下一页完成的。步骤很简单,如下:先把每一页的所有二手住房详细链接爬取到请求每一个爬取到的详细链接,解析住房信息...
python学习:爬取房源信息
    最近挤时间了解了一下python。“纸上谈兵终觉浅 绝知此事要躬行”,只有实际操作才能加深印象。这里参考这篇:https://www.cnblogs.com/gkf0103/p/7689600.html 进行实际操作并进行部分修改。记录一下。from bs4 import BeautifulSoup #beautifulsoup4库使用时是简写的bs4 import reque...
深圳房租爬取与可视化分析
概述 前言 统计结果 爬虫技术分析 后记 前言 最近各大一二线城市的房租都有上涨,究竟整体上涨到什么程度呢?以下是通过爬取房天下各区域租金的数据(数据保存于MongoDB),总数据量为 16971 。   统计结果 深圳房源分布:(按区划分)  其中福田与南山的房源分布是最多的。 房租单价:(每月每平方米单价 – 平均数)  即是 1 平方米 1 个月的价格。方块越大,代表价...
python网络爬虫爬取房价信息
爬取房天下(http://newhouse.cd.fang.com/house/s/)成都地区的新房信息。打开http://newhouse.cd.fang.com/house/s/,F12进入控制台点击控制台的左上角的按钮,这是你可以将鼠标移至房天下页面的任何一个地方然后单击,你就可以看到该地方在html代码中的位置,比如:我点击红色区域的文本,那么在控制台中就会出现该文本在html代码中的位置...
python+scrapy爬虫(爬取链家的二手房信息)
1、目的:通过爬取成都链家的二手房信息,主要包含小区名,小区周边环境,小区楼层以及价格等信息。并且把这些信息写入mysql。 2、环境:scrapy1.5.1 +python3.6 3、创建项目:创建scrapy项目,在项目路径执行命令:scrapy startproject LianJiaScrapy 4、项目路径:(其中run.py新加的,run.py是在eclipse里面启动scrap...
python爬虫--新手上路--房产网指定区域楼盘信息爬取
差不多半年前就开始接触python语言,虽然前几天听说python作者已经不再维护python,但是核心的开源维护者还是有的,而且我并没有深入的像使用java一样实战过python,不能妄下断言。出于对现在互联网数据的重要性的思考,我觉得有必要深入了解一下爬虫这个东西,而且现在市面上资源最多的就是python爬虫,java的nutch我也了解过,但是好像是结合hadoop和搜索引擎一起使用的,不太...
Python爬虫获取楼盘信息
    在一家线上租房的公司已经实习两周了。作为实习生,所以日常的工作主要是收集和整理全国各小区的信息,比如小区的建成年代,是否有电梯,小区的门牌数等。因为我不太喜欢用复制粘贴这种效率低的工作方式,所以写了一个简单的Python程序,相对那些高端爬虫比较简单,但是还挺管用。通过以下的代码可以爬取网站上的相关信息啦。    def get_shanghai_beike_info(key): ...
Python爬虫获取小区经纬度以及获取结构化的地址
    通过小区名称利用百度api可以获取小区的地址以及经纬度,但是由于api返回的值中的地址形式不同,所以可以首先利用小区名称进行一轮爬虫,获取小区的经纬度,然后再利用经纬度Reverse到小区的结构化的地址。另外小区名称如果是'...号‘,可以在爬虫开始之前在’号‘之后加一个’院‘,得到的精确度更高。这次写到程序更加便于二次利用,只需要给程序传递一个dataframe就可以坐等结果了。现在程序...
Python爬取全国POI数据:购物中心、餐饮、宾馆、银行、景区、快递点和各大品牌店经纬度等数据(GeoQ)
上一篇文章写了如何获取人口等格网数据利用Python爬取全国250m精度的人口数据(GeoQ)、房价数据和公交站(线路)等数据,这一篇文章我们接着去获取剩下的poi数据和品牌数据。该网站还有如下的poi数据,其中有很多poi数据是高德百度poi所没有的,而且已经分好了类,比如各大品牌的poi数据。 标题 标题 如上图所示,放大到最后可以看到poi点的位置和属性信息,接下来进行...
爬取房天下(全站)
# -*- coding: utf-8 -*- # @Time : 2017/9/5 10:58 # @Author : z # @File : 房天下.py # @Software: PyCharm import requests from bs4 import BeautifulSoup import re import threadpool class House(obje
python爬取房天下全国658城市房源
项目:爬取房天下网站全国所有城市的新房和二手房信息 网站url分析 1.获取所有城市url http://www.fang.com/SoufunFamily.htm 例如:http://cq.fang.com/ 2.新房url http://newhouse.sh.fang.com/house/s/ 3.二手房url http://esf.sh.fang.com...
我用python爬取济南房价,告诉你哪里买房合适(-)
import requests from bs4 import BeautifulSoup import os import numpy as np import pandas as pd import matplotlib.pyplot as plt def GetUrlHtml(url): kv={&quot;User-Agent&quot;: &quot;Mozilla/5.0&quot;} response=r...
python2.7爬虫实战(房地产信息抓取)
好久没有写文章了,本人文笔不是很好,写的东西想到那写到那。 刚学习python爬虫不久,学习资料参考《python爬虫学习系列教程》http://www.cnblogs.com/xin-xin/p/4297852.html 下面是自己学习的一些总结: 一、程序背景 1.需求: 抓取网站中房子出售信息,主要信息包含:地址、发布时间、联系人、价格以及房子的一些信息 2.环境: pytho
利用xpath爬取lianjia租房信息 并保存到数据库
import requests from lxml import etree import time import pymysql class MyMysql(object): def __init__(self): self.db = pymysql.connect('127.0.0.1','root','******','wang') self.cu...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 python数据爬取教程 python爬取数据教程