从零开始编写简易python爬虫:每日房价的获取

给大家做一个基于Python爬取商品价格曲线,祝大家剁手快乐 河北廊坊人,湖北工业大学(大专土木专业),20年毕业后回到老家廊坊干本专业工作,说说自己为什么毕业就想转行了吧!行业师兄也认识几个,相比所认识做it的朋友,同样是4 5年工作 差距真的很大,当初选土木专业,刚好那会土木发展还不错,大学老师各种夸好,其实后来接触下来,发现我对土木并不热爱。但是好就业是真的,一毕业就工作了,工资2500,私企施工单位,我的体力劳动大于脑力劳动,说白了就是一带眼镜的农民工,还好我带眼镜。。。... 阅读详情

1、从零开始编写简易python爬虫:每日房价的获取

    本文主要是对eclipse、python3下如何做准备工作以编写一个简易的爬虫程序进行示例(本文将采用获取“天津市国土资源和房屋管理局政务门户”网站上的每日房价作为示例,仅做学习,如有侵权,请告知)。通过本文,您将了解到如何安装三方工具包、如何在myeclipse下配置python开发环境以及相关的参考资料等内容。

 

1.1 爬虫本质

    由于本篇文章目的仅是为了全流程操作,因此关于爬虫原理,请查看相关文章,如:http://baike.baidu.com/item/网络爬虫?fr=aladdin

 

1.2 必需环境

    以下是编写一个基本爬虫应该具备的一种环境。另外,本文基于win7系统进行实现。

python环境:

         python3.4.3(本文以32位版本示例)

         下载url:http://download.youkuaiyun.com/detail/smartcore/9760543

三方工具包:

         beautifulsoup4-4.4.1-py3-none-any.whl

         chardet-2.3.0-py2.py3-none-any.whl

         urllib3-1.12-py2.py3-none-any.whl

        下载url:http://download.youkuaiyun.com/detail/smartcore/9760547

eclipse环境:

         myeclipse10

         myeclipse10.7.1crack

        crack下载url:http://download.youkuaiyun.com/detail/smartcore/9760552

PyDev插件:

         PyDev2.8.2.zip

下载url:http://download.youkuaiyun.com/detail/smartcore/9760551

 

1.3 环境安装与配置

1.3.1 python安装配置

    关于python如何安装和配置,已经有无数优秀浅显的文章进行了示例(如:http://www.tuicool.com/articles/eiM3Er3/),这里仅做文字说明。

         以32位的python示例。

1、双击python-3.4.3.exe;

2、在Python 3.4.3 Setup |Select Destination Directory页面,保持默认,点击next;

3、在Python 3.4.3 Setup |Customize Python 3.4.3页面,保持默认,点击next;

4、然后进入Install Python3.4.3,等待python安装完成后,点击“Finish”。

5、环境变量设置。在点击“我的电脑”|“属性”|“高级系统设置”后,弹出的“系统属性”中选“高级”选项卡,然后选择“环境变量”;

6、在新弹出的“环境变量”对话框中,在“系统变量”下的path值中添加“;C:\Python34\;C:\Python34\Scripts;”,然后一路确定,完成环境变量的配置;

7、测试python命令。打开操作系统cmd,输入python回车后,将会出现如下信息:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSCv.1600 32 bit (In

tel)] on win32

1.3.2 python三方工具包安装

使用pip install “工具包全路径”,完成三个工具包的安装。

 

1.3.3 myeclipse安装

mycelipse环境仅需下载后解压,配置好对应的jdk后即可使用。如某个下载链接:http://www.xitongzhijia.net/soft/63971.html?1450694984

可能需要crack,见相关的crack文件

 

1.3.4 PyDev安装

1、将PyDev 2.8.2.zip文件夹解压后生成一个文件夹:PyDev 2.8.2,将此文件夹连同其所有子文件复制到MyEclipse10的根目录下的dropins文件夹内。

2、在 MyEclipse 菜单栏中,选择Window > Preferences > Pydev > Interpreter – Python,在此配置 Python。单击 New,进入对话框。Interpreter Name可以随便命名,Interpreter Executable选择Python解释器C:\python34\python.exe。

3、点击OK后跳出一个有很多复选框的窗口,选择需要加入SYSTEM pythonpath的选项,点击Ok。最终如下图:

 

1.4 简易爬虫

    1、打开MyEclipse后,在菜单中,选择File|New|Others...,在弹出的对话框中的Wizards输入框中输入PyDev,选择“PyDev Project”后,点击Next,如下:

 

    2、进入PyDev Project设置页面后,进行如下设置,重点是选择Grammer Version版本为3.0:

 

    3、点击2中的Finish,完成工程创建。如下:


    4、在3中的PyDev Package Explorer视图中,右键单击PyCrawler,新建一个PyDevPackage包为com.zc.main(随意起的包名),然后在main包下新建一个文件main.py(需要注意的是main.py文件的格式应该为utf-8,如出错,见http://blog.youkuaiyun.com/ch7543658/article/details/44309853的解释)。

    5、在main.py文件内输入如下代码(本代码的主要功能是将“天津市国土资源和房屋管理局政务门户”网站上的每日房价信息爬到本地D盘根目录下的tjhouseprice.txt文件内):

# -*- coding:utf-8 -*-

# created @ 2016.04.18
# author : core
# modified @ ***

from bs4 import BeautifulSoup as BSoup
from urllib3.util.timeout import Timeout

import chardet
import re
import urllib
import urllib3
import uuid

g_strUrlRoot = "http://www2.tjfdc.gov.cn/Lists/List51/DispForm1.aspx?ID="

def downloadDoc(iPageStart = 1, iPageEnd = 1):
    """下载id=iPageStart 到id=iPageEnd 间的网页
    """
    
    headers = { #伪装为浏览器抓取  
        'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36',
        #'Accept-Language':'zh-CN',
        'Content-type':'text/html;charset=utf-8'
    }
    
    strUrlRoot = g_strUrlRoot
    strUrlPrefix = strUrlRoot
    
    objHttp = urllib3.PoolManager(timeout=Timeout(10))
    iIndex = iPageStart
    
    strRetFileName = "D:\\tjhouseprice.txt"
    with open(strRetFileName, 'a+', encoding="utf-8") as objFile:
        while iIndex <= iPageEnd:
            strUrl = strUrlPrefix + str(iIndex)
            strUrlReq = urllib.parse.quote(strUrl, ':?=/&')
            
            strTitle = ''
            strContext = ''
            try:
                objReq = objHttp.request('GET', strUrlReq, headers = headers)
                infoEncode = chardet.detect(objReq.data).get('encoding', 'utf-8')
                strHtml = objReq.data.decode(infoEncode, 'ignore')
                objSoup = BSoup(strHtml, 'html.parser')              
                
                #获取标题
                objTitleTable = objSoup.select('td.UserArticleHeader table')[0]
                strTitle= objTitleTable.find('td').text            
                strContext = strTitle + '\n'
                
                objTable = objSoup.select('table.MsoNormalTable')[0]
                
                rows = objTable.findAll('tr')
                for i in range(2, len(rows)):
                    row = rows[i]
                    cols = row.findAll('td')
                    for j in range(0, len(cols)):
                        col = cols[j]
                        objText = col.find('span').text
                        strContext += objText + '\t'
                    strContext += '\n'
                    
            except Exception as ex:
                iIndex = iIndex + 1
                print('except : ' + strUrl)
                continue
            
            objFile.write(strContext)
            objFile.flush()
            print(strTitle)
            
            iIndex = iIndex + 1

# 执行入口
downloadDoc(2001, 2002)


 

    6、运行测试。点击MyEclipse工具栏上的Run按钮的下三角箭头,在Run As菜单下选择“Python Run”后,程序开始运行,然后在D盘根目录下的tjhouseprice.txt文件内,可查看结果。

 

1.5 其他参考

 

    巨多的py工具包:http://www.lfd.uci.edu/~gohlke/pythonlibs/

    离线安装PyDev:http://www.cnblogs.com/hanc/p/3685847.html

    一整套的爬虫入门:http://python.jobbole.com/81332/

Python深度学习(预测房价:回归问题)--学习笔记(七) 3.6 预测房价:回归问题 前面两个例子都是分类问题,其目标是预测输入数据点所对应的单一离散的标签。另一种常见的机器学习问题是回归问题,它预测一个连续值而不是离散的标签,例如,根据气象数据预测明天的气温,或者根据软件说明书预测完成软件项目所需要的时间。 3.6.1 波士顿房价数据集 本节将要预测20世纪70年代中期波士顿房屋价格的中位数,已知当时郊区的一些数据点,比如犯罪率、当地房产税等。本节用到的数据集与前面两个例子有一个有趣的去吧。它包含的数据点相对较少,只有506个,分为404个训练样本和102 阅读详情

相关推荐

Python房价可视化分析的思路及实战

作者利用网络爬虫抓取了安居客、房天下和58同城这几个网站上房价的数据,利用数据分析对文山市的房价情况进行的简单的分析。

王十二的 1万+

python爬虫爬去汽油价格

利用python爬取每天汽油的价格,一直涨车都开不起了,另外最近加了国际原油期货价格在上面,是WTI的 #!/usr/bin/env python # -*- coding: utf-8 -*- """ 获取每天汽油价格 @author: yufei @site: http://www.goodid.com 2017-04-08 """ import re import urllib2,url...

一方 2658

用 python 爬取房价信息

这是我们python课程要求我们制作一个项目,用python爬取结果并作数据展示。 我们使用requests的方法对房价的信息做了爬取,一下就是我们所爬取的网页 我们主要爬取的内容包括了房价的走势,上月的价格,本月的价格,和历史最高的价格和涨幅,等信息做了爬取并用matplotlib 画出了一个折线图并将其保存下来 import matplotlib.pyplot as plt import datetime import requests import pinyin impo...

qq_43216483的博客 6200

房价分析(0)反爬虫机制

房价爬取,数据分析,机器学习

小蜗爱建模的博客 1602

Python爬虫从入门到实战详细版教程Char01:爬虫基础与核心技术

Python因其简洁语法、丰富库支持和活跃社区,成为网络爬虫开发的首选语言。知识要点:理解爬虫的定义、应用场景及法律边界,熟悉Python生态工具。思考题:如何判断一个网站是否允许爬虫抓取其数据?若爬虫抓取的数据涉及用户隐私,可能面临哪些法律风险?对比Requests和Scrapy的适用场景差异。此章节内容旨在为读者建立爬虫的全局认知,后续章节将逐步深入技术细节。

qq_37360300的博客 3651

一招教你利用Python网络爬虫获取链家网的房产信息(干货)

前言: 随着人们生活方式的的提高,房子成为了我们必不可少的一部分。而网上的信息太过于复杂,为了了解最近房价的变化趋势。小编以链家这个网站为例,抓取房价的信息。 一、项目目标 实现将获取到的房子的名字、价格、房子的关注度,导入Word模板,并生成独立的Word文档。 二、涉及的库和网站 先列出网址,如下所示。 网址:https://bj.lianjia.com/ershoufang/pg1/("bj"北京的缩写) 库:requests、time 、lxml 三、具体分析 如何对下.

Python654的博客 2482

python(预测房价)

plt.scatter(area, price,label='Original Data',s=10) # 设置为散点图。plt.title("Fit the line graph") # 标题。plt.scatter(area, price,s=10) # 散点图。plt.title("Loss Function") # 标题。plt.title("Area-Price") # 标题。plt.ylabel("price") # y轴。plt.xlabel("area") # x轴。

qq_72369555的博客 2153

网络爬虫学习心得1

这段时间看了唐松老师写的《python网络爬虫从入门到实践》,学到许多网络爬虫方面的知识,也以书里的实践项目进行练手。 我的第一篇的网络爬虫心得,就以书里第五章的实践:爬虫实践:房屋价格数据,参考书里的内容进行练手。 实践项目是获取安居客网站上北京二手房的数据。本项目需要获取前10页二手房源的名称、价格、几房几厅、大小、建造年份、联系人、地址、标签。网页地址为:http://beijing.anj...

firewolf0的博客 7455

xen html插件教程,从零开始编写简易python爬虫:每日房价的获取

1、从零开始编写简易python爬虫:每日房价的获取本文主要是对eclipse、python3下如何做准备工作以编写一个简易的爬虫程序进行示例(本文将采用获取“天津市国土资源和房屋管理局政务门户”网站上的每日房价作为示例,仅做学习,如有侵权,请告知)。通过本文,您将了解到如何安装三方工具包、如何在myeclipse下配置python开发环境以及相关的参考资料等内容。1.1 爬虫本质由于本篇文章目的...

weixin_30739265的博客 524

在运行opencv时出现的两个问题:AttributeError: module ‘cv2‘ has no attribute ‘gapi_wip_gst_GStreamerPipeline‘

解决了opencv的两个问题:由问题一引出 AttributeError: module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' cv2.error:OpenCV(4.1.2)C:\projects\opencvpython\opencv\modules\highgui\src\window.cpp:717:error: (-2:Unspecified error) The function is not implemented...

hu_yinghui的博客 3274

Chroma向量数据库实战:用Python快速搭建本地知识库(附中文诗词检索案例)

本文详细介绍了如何使用Chroma向量数据库和Python快速搭建本地知识库,并附有中文诗词检索的实战案例。通过解析核心概念、数据准备、向量化及智能检索实现,展示了Chroma在处理中文语义搜索时的轻量级与易用性,为开发者构建AI应用原型提供了实用指南。

weixin_29221753的博客 479

网络爬虫之爬虫原理

一文带你了解网络爬虫原理。

Uncle_wangcode的博客 2149

VSCode+ESP-IDF开发环境搭建:从零开始创建你的第一个物联网项目(2024最新版)

本文详细介绍了如何在2024年使用VSCode和ESP-IDF搭建物联网开发环境,从零开始创建第一个物联网项目。内容包括环境准备、ESP-IDF配置、项目创建与结构解析、构建烧录步骤以及高级技巧和常见问题解决方案,帮助开发者快速上手ESP32开发。

weixin_29165725的博客 330

基于python爬虫的房价数据可视化分析

scrapy;chain home;;目录摘要Abstract前 言1 绪论1.1 课题研究背景1.2 国内外爬虫技术概况1.3 网络爬虫技术发展现状1.4 研究中可能遇到的关键问题1.5 本章小结2 相关技术介绍2.1开发环境的搭建2.2 浏览器端相关技术2.3 本章小结3 Scrapy框架应用3.1 利用Scrapy编写一个爬虫3.2 Scrapy的启动流程3.3 数据的存储3.4 数据的解析3.5 本章小结。

laoman456的博客 3495

Win11下高效管理JDK1.8与JDK17双环境的实战指南

本文提供了一份在Windows 11系统上高效管理JDK 1.8与JDK 17双环境的实战指南。文章详细讲解了如何实现双版本切换,包括如何干净安装两个JDK、通过巧妙配置环境变量实现命令行一键切换,以及在不同IDE和构建工具中为项目独立配置JDK版本,旨在帮助Java开发者彻底解决版本冲突问题,提升开发效率。

ipfs8storage的博客 543

华为OD机试真题2025双机位A卷 C语言 实现【采购订单】

在一个采购系统中,采购申请(PR)需要经过审批后才能生成采购订单(PO)。每个PR包含商品的单价(假设相同商品的单价一定是一样的)及数量信息。系统要求对商品进行分类处理:单价高于100元的商品需要单独处理,单价低于或等于100元的相同商品可以合并到同一采购订单PO中。针对单价低于100的小额订单,如果量大可以打折购买。

MISAYAONE的博客 350

python:房价爬虫课设

链家网是集房源信息搜索、产品研发、大数据处理、服务标准建立为一体的国内领先且重度垂直的全产业链房产服务平台。链家网的前身为链家在线,成立于2010年并于2014年正式更名为链家网。目前,链家网线上房源已覆盖北京、上海、广州、深圳、天津、成都、青岛、重庆、大连等42个城市。链家网旨在通过不断提高服务效率、提升服务体验,为用户提供更安全、更便捷、更舒心的综合房产服务。

Hanze的博客 1028

EZ-INSAR工具箱(使用历史问题)

把 rasterio 升到 1.3+(或退回 py39)→features能 import → 脚本能跑 → 出图 → MATLAB 不再报错!

2301_79258000的博客 121

[转]爬虫——爬取贵阳房价(Python实现)

目录 1 序言 1.1 生存压力带来的哲思 1.2买房&房奴 2 爬虫 2.1 基本概念 2.2爬虫的基本流程 3 爬取贵阳房价并写入表格 3.1 结果展示 3.2 代码实现(Python) 1 序言 1.1 生存压力带来的哲思 马尔萨斯最早发现,生物按照几何级数高度增殖的天赋能力,总是大于他们的实际生存能力或现实生存群量,依次推想,生物的种内竞争一定是极端残酷且无可避免。姑且不论马尔萨斯是否有必要给人类提出相应的警告,仅是这一现象中隐含的一系列基础问题...

吃不胖. 1263

23、关联挖掘到相关性分析及约束关联挖掘详解

本文详细解析了从关联挖掘到相关性分析的发展过程,以及基于约束的关联挖掘方法。文章介绍了传统支持-置信度框架的局限性,并引入Lift、χ2、All Confidence和Cosine等度量来评估规则的相关性。同时探讨了多种规则约束在数据挖掘中的应用机制及其优化效果,旨在提高挖掘效率和规则质量。最后结合实际案例说明如何综合运用相关性度量与规则约束以满足业务需求,并展望了数据挖掘技术的未来发展。

aa123的博客 102

Oracle EBS 寄销/VMI(1)-->基础设置

名词解释:     BPA:一揽子采购协议     BPR:一揽子发放     SR:来源补充规则     ASL:合格供应商列表     VMI: 供应商管理库存     寄售(Consignment)是把货物放在客户那里,客户要用的时候才付款的库存,一般是指卖方把

陈显平的专栏-Oracle EBS 1万+

python 爬虫 抓取2020最新房价信息 买不起看看总可以吧

运行结果: 代码实现: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2020/11/21 12:00 # @Author : huni # @File : 2020房价信息爬取.py # @Software: PyCharm import requests from lxml import etree import sqlite3 def getData(url): headers = { 'U

乎你的博客 25万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

手把手教你利用Python网络爬虫获取链家网的房产信息

点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤夜阑卧听风吹雨,铁马冰河入梦来。/1 前言/随着人们生活方式的的...

pdcfighting的博客 6696

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

基于Python的房价预测系统 爬虫+大屏可视化

房价是一个国家经济水平的重要体现,也是反映居民生活质量和水平的最直接的指标。目前我国住房制度以租售并举形式出现,房屋所有权人通过出售、出租房屋获得租金收入。但是由于房价波动较大,不能及时反映房价变化趋势,需要预测房价来指导市场。研究房产价格走势,可以为房地产价格的调控提供参考依据。本系统通过对网络爬虫的分析,研究58同城网房屋数据,尝试使用Python技术进行开发,将58同城网房产信息和房屋数据尽可能的爬取出来,并对结果进行检测判断,最后可视化分析出来,为用户提供精确的查询结果。

QQ860234001的专栏 2365

python爬虫可以爬哪些网站-网络爬虫都能干什么?有哪些网站的数据可以爬取?...

1、网络爬虫都能干什么@冰蓝之前在北京买房,谁想房价开始疯长,链家的房价等数据分析只给了一小部分,远远不能满足自己的需求。于是晚上花了几个小时的时间写了个爬虫,爬下了北京所有的小区信息及北京所有小区的所有历史成交记录。@陈乐群上次发现Android QQ和iOS QQ可以显示网络状态(2G/WiFi)之后,突然想到,这样子好像可以监视某人的出行和作息规律。简单的来说,在家里或者工作的地方,一般是有...

weixin_39790102的博客 7517

基于Python+大数据+网络爬虫的房价数据分析系统的设计与实现 房产销售数据分析与可视化系统

当今社会,随着信息技术的不断发展和普及,大数据分析和数据挖掘正成为各个领域的热门话题。在房地产领域,房价数据一直以来都是备受关注的焦点,对购房者、开发商等各方都具有重要意义。因此,本项目旨在设计和实现一个基于大数据、Python编程和网络爬虫技术的房价数据分析系统,以满足对房价数据进行深入分析和洞察的需求。房价数据是房地产市场的关键信息之一,对于购房决策、市场趋势的了解以及政府政策的制定都至关重要。然而,要获取并分析这些数据通常是一项复杂的任务。

qq_1445749146的博客 2300
上一篇: ADT中maven与jadClipse的冲突问题
下一篇: sts启动闪退、无法打开的一个可能原因
smartcore
博客等级 码龄19年 30粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值