Python爬虫爬取房天下数据-入MySql数据库

Python爬取房天下某城市数据

随着互联网时代的兴起,技术日新月异,掌握一门新技术对职业发展有着很深远的意义,做的第一个demo,以后会在爬虫和数据分析方便做更深的研究,本人不会做详细的文档,有哪里不足的地方,希望大牛们指点讲解。废话不多说,上代码。

你需要的技能:

(1)对前端知识熟悉会调试浏览器

(2)熟练python基础知识,对一些常用的库熟练掌握

(3)掌握一般关系型数据库

import requests as req
import time
import pandas as pd
from bs4 import BeautifulSoup
from sqlalchemy import create_engine

global info
def getHouseInfo(url):
	info = {}
	soup = BeautifulSoup(req.get(url).text,"html.parser")
	resinfo = soup.select(".tab-cont-right .trl-item1")

	# 获取户型、建筑面积、单价、朝向、楼层、装修情况
	for re in resinfo:
		tmp = re.text.strip().split("\n")
		name = tmp[1].strip()
		if("朝向" in name):
			name = name.strip("进门")
		if("楼层" in name):
			name = name[0:2]
		if("地上层数" in name):
			name = "楼层"
		if("装修程度" in name):
			name = "装修"
		info[name] = tmp[0].strip()

	xiaoqu = soup.select(".rcont .blue")[0].text.strip()
	info["小区名字"] = xiaoqu
	zongjia = soup.select(".tab-cont-right .trl-item")
	info["总价"] = zongjia[0].text
	return info

domain = "http://esf.anyang.fang.com/"
city = "house/"
#获取总页数
def getTotalPage():
	res = req.get(domain+city+"i31")
	soup = BeautifulSoup(res.text, "html.parser")
	endPage = soup.select(".page_al a").pop()[‘href‘]
	pageNum = endPage.strip("/").split("/")[1].strip("i3")
	print("loading.....总共 "+pageNum+" 页数据.....")
	return pageNum

# 分页爬取数据
def pageFun(i):
	pageUrl = domain + city + "i3" +i
	print(pageUrl+" loading...第 "+i+" 页数据.....")
	res = req.get(pageUrl)
	soup = BeautifulSoup(res.text,"html.parser")
	houses = soup.select(".shop_list dl")
	pageInfoList = []
	for house in houses:
		try:
			# print(domain + house.select("a")[0][‘href‘])
			info = getHouseInfo(domain + house.select("a")[0][‘href‘])
			pageInfoList.append(info)
			print(info)
		except Exception as e:
			print("---->出现异常,跳过 继续执行",e)

	df =  pd.DataFrame(pageInfoList)
	return df

connect = create_engine("mysql+pymysql://root:[email protected]:3306/houseinfo?charset=utf8")

for i in range(1,int(getTotalPage())+1):
	try:
		df_onePage = pageFun(str(i))
	except Exception as e:
		print("Exception",e)
	pd.io.sql.to_sql(df_onePage, "city_house_price", connect, schema="houseinfo", if_exists="append")

  

原文地址:https://www.cnblogs.com/flyLove/p/9379972.html

时间: 2024-11-09 02:12:24

Python爬虫爬取房天下数据-入MySql数据库的相关文章

python爬虫—爬取百度百科数据

爬虫框架:开发平台 centos6.7 根据慕课网爬虫教程编写代码 片区百度百科url,标题,内容 分为4个模块:html_downloader.py 下载器 html_outputer.py 爬取数据生成html模块 html_parser 获取有用数据 url_manager url管理器 spider_main 爬虫启动代码 spider_main.py 1 #!/usr/bin/python 2 #-*- coding: utf8 -*- 3 4 import html_download

python爬虫爬取网上药品信息并且存入数据库

我最近在学习python爬虫,然后正好碰上数据库课设,我就选了一个连锁药店的,所以就把网上的药品信息爬取了下来. 1,首先分析网页 2,我想要的是评论数比较多的,毕竟好东西大概是买的人多才好.然后你会发现它的url地址是有规律的里面的j1是指第一页,j2第二页,这样构建一个url_list. 1 url_list = 'https://www.111.com.cn/categories/953710-a0-b0-c31-d0-e0-f0-g0-h0-i0-j%s.html'#然后循环获取响应 2

多线程爬取房天下数据,并且存储到mysql

下面是源代码,大神勿喷...... # -*- coding: utf-8 -*- import requests,time,urllib.request,os,re,xlwt import threading,random,threadpool import pymongo,pymysql,logging from multiprocessing import Process from lxml import etree from pymongo import MongoClient impo

详解Python 采用 requests + Beautiful Soup 爬取房天下新楼盘推荐

最近一直在关注Python写爬虫相关的知识,尝试了采用requests + Beautiful Soup来爬取房天下(原搜房网)的推荐新楼盘. 不用不知道,一用发现有惊喜也有惊吓,本文就一同记录下惊喜和踩的一些乱码的坑. 首先,觉得Beautiful soup解析网页更加符合人类的常规思维,比使用正则表达式(python中的re库)更容易理解. 同时关于requests遇到了中文字符和特殊字符解码的问题.本文都将给于深入的解说. 软件环境 Python    : 3.6.0 PyCharm: C

用Python爬虫爬取广州大学教务系统的成绩(内网访问)

用Python爬虫爬取广州大学教务系统的成绩(内网访问) 在进行爬取前,首先要了解: 1.什么是CSS选择器? 每一条css样式定义由两部分组成,形式如下: [code] 选择器{样式} [/code] 在{}之前的部分就是"选择器"."选择器"指明了{}中的"样式"的作用对象,也就是"样式"作用于网页中的哪些元素.可参考:http://www.w3school.com.cn/cssref/css_selectors.asph

python爬虫—爬取英文名以及正则表达式的介绍

python爬虫—爬取英文名以及正则表达式的介绍 爬取英文名: 一.  爬虫模块详细设计 (1)整体思路 对于本次爬取英文名数据的爬虫实现,我的思路是先将A-Z所有英文名的连接爬取出来,保存在一个csv文件中:再读取csv文件当中的每个英文名链接,采用循环的方法读取每一个英文名链接,根据每个英文名链接爬取每个链接中的数据,保存在新的csv文件当中. 需要写一个爬取英文名链接的函数.将爬取的内容保存在csv文件的函数以及读取csv文件内容的函数.爬取英文名详情页内容的函数. 表5.3.1 函数名

python爬虫爬取csdn博客专家所有博客内容

python爬虫爬取csdn博客专家所有博客内容: 全部过程采取自动识别与抓取,抓取结果是将一个博主的所有 文章存放在以其名字命名的文件内,代码如下 结果如下: 版权声明:本文为博主原创文章,未经博主允许不得转载.

python爬虫爬取美女图片

python 爬虫爬取美女图片 #coding=utf-8 import urllib import re import os import time import threading def getHtml(url): page = urllib.urlopen(url) html = page.read() return html def getImgUrl(html,src): srcre = re.compile(src) srclist = re.findall(srcre,html)

Python爬虫爬取博客园并保存

Python爬虫爬取博客园并保存        爬取博客园指定用户的文章修饰后全部保存到本地 首先定义爬取的模块文件: crawlers_main.py 执行入口 url_manager.py url管理器 download_manager.py 下载模块 parser_manager.py html解析器(解析html需要利用的内容) output_manager.py 输出html网页全部内容文件(包括css,png,js等) crawlers_main.py 执行入口 1 # coding