python - 爬虫入门练习 爬取链家网二手房信息
import requests
from bs4 import BeautifulSoup
import sqlite3 conn = sqlite3.connect("test.db")
c = conn.cursor() for num in range(1,101):
url = "https://cs.lianjia.com/ershoufang/pg%s/"%num
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/64.0.3282.140 Safari/537.36',
} req = requests.session()
response = req.get(url, headers=headers, verify=False) info = response.text
f1 = BeautifulSoup(info,'lxml')
f2 = f1.find(class_='sellListContent')
f3 = f2.find_all(class_='clear LOGCLICKDATA') for i in f3:
data_id = i.find(class_="noresultRecommend").get('data-housecode')
href = i.find( class_ ="noresultRecommend img ").get('href')
title = i.find(class_ ="title").get_text()
adress = i.find(class_="houseInfo").get_text().split("|")
jage = i.find(class_="totalPrice").get_text() # print(k,data_id, '|', title, '|', adress, '|', jage, '|', href)
# print("---") dz = ''
fx = ''
dx = ''
cx = ''
zx = ''
dt = ''
if len(adress) == 6:
dz = adress[0]
fx = adress[1]
dx = adress[2]
cx = adress[3]
zx = adress[4]
dt = adress[5]
elif len(adress) ==5:
dz = adress[0]
fx = adress[1]
dx = adress[2]
cx = adress[3]
zx = adress[4]
dt = 'None'
# print(dz,fx,dx,cx,zx,dt)
elif len(adress) < 5:
print(dz, fx, dx, cx, zx, dt) info = {'nid':int(data_id),
'title':title,
'dz':dz,
'fx':fx,
'dx':dx,
'cx':cx,
'zx':zx,
'dt':dt,
'jg':jage,
'url':href}
# print(info) x = info
sql = "insert into rsf(nid,dz,fx,dx,cx,zx,dt,jg,title,url)values(%d,'%s','%s','%s','%s','%s','%s','%s','%s','%s')" % (x['nid'], x['dz'], x['fx'], x['dx'], x['cx'], x['zx'], x['dt'], x['jg'], x['title'], x['url'])
cursor = c.execute(sql)
conn.commit()
# print("OK") conn.close() # import json
# file_path = 'info%s.txt'%num
# json_data = json.dumps(info_list).encode('utf8')
# with open(file_path,'wb') as f:
# f.write(json_data)
sqlite3 读取数据
import sqlite3
conn = sqlite3.connect("test.db")
c = conn.cursor() #sqlit3 查询数据
cursor = c.execute("SELECT * from rsf")
k = 1
for row in cursor:
num = float(row[7].split('万')[0])
if 30.0 < num < 50.0:
print(k,row[1],row[3],num,row[-2])
k +=1 conn.close()
python - 爬虫入门练习 爬取链家网二手房信息的更多相关文章
- Python的scrapy之爬取链家网房价信息并保存到本地
因为有在北京租房的打算,于是上网浏览了一下链家网站的房价,想将他们爬取下来,并保存到本地. 先看链家网的源码..房价信息 都保存在 ul 下的li 里面 爬虫结构: 其中封装了一个数据库处理模 ...
- 43.scrapy爬取链家网站二手房信息-1
首先分析:目的:采集链家网站二手房数据1.先分析一下二手房主界面信息,显示情况如下: url = https://gz.lianjia.com/ershoufang/pg1/显示总数据量为27589套 ...
- 44.scrapy爬取链家网站二手房信息-2
全面采集二手房数据: 网站二手房总数据量为27650条,但有的参数字段会出现一些问题,因为只给返回100页数据,具体查看就需要去细分请求url参数去请求网站数据.我这里大概的获取了一下筛选条件参数,一 ...
- python爬虫:利用BeautifulSoup爬取链家深圳二手房首页的详细信息
1.问题描述: 爬取链家深圳二手房的详细信息,并将爬取的数据存储到Excel表 2.思路分析: 发送请求--获取数据--解析数据--存储数据 1.目标网址:https://sz.lianjia.com ...
- Python 爬虫入门之爬取妹子图
Python 爬虫入门之爬取妹子图 来源:李英杰 链接: https://segmentfault.com/a/1190000015798452 听说你写代码没动力?本文就给你动力,爬取妹子图.如果 ...
- Scrapy实战篇(一)之爬取链家网成交房源数据(上)
今天,我们就以链家网南京地区为例,来学习爬取链家网的成交房源数据. 这里推荐使用火狐浏览器,并且安装firebug和firepath两款插件,你会发现,这两款插件会给我们后续的数据提取带来很大的方便. ...
- python3 爬虫教学之爬取链家二手房(最下面源码) //以更新源码
前言 作为一只小白,刚进入Python爬虫领域,今天尝试一下爬取链家的二手房,之前已经爬取了房天下的了,看看链家有什么不同,马上开始. 一.分析观察爬取网站结构 这里以广州链家二手房为例:http:/ ...
- Python爬虫入门教程 23-100 石家庄链家租房数据抓取
1. 写在前面 作为一个活跃在京津冀地区的开发者,要闲着没事就看看石家庄这个国际化大都市的一些数据,这篇博客爬取了链家网的租房信息,爬取到的数据在后面的博客中可以作为一些数据分析的素材. 我们需要爬取 ...
- Python 爬虫入门(二)——爬取妹子图
Python 爬虫入门 听说你写代码没动力?本文就给你动力,爬取妹子图.如果这也没动力那就没救了. GitHub 地址: https://github.com/injetlee/Python/blob ...
随机推荐
- Luogu P3168 [CQOI2015]任务查询系统
题目链接 \(Click\) \(Here\) 差分主席树,就是把主席树做成一个差分前缀和的形式,还是很容易想到的. 写主席树的时候几个注意点: 查询可能开始于所有任务之前,二分任务点要把左边界设置为 ...
- (BFS) leetcode 690. Employee Importance
690. Employee Importance Easy 377369FavoriteShare You are given a data structure of employee informa ...
- python自动化开发-[第七天]-面向对象
今日概要: 1.继承 2.封装 3.多态与多态性 4.反射 5.绑定方法和非绑定方法 一.新式类和经典类的区别 大前提: 1.只有在python2中才分新式类和经典类,python3中统一都是新式类 ...
- Linux系统centos6.7上安装libevent
1 下载地址:http://libevent.org/ 2.解压 tar zxvf libevent-2.0.21-stable.tar.gz 安装前请先安装 gcc yum install gcc ...
- Mysql连接查询、子查询、联合查询 整理
连接查询 连接语法的基本形式 from 表1 [连接方式] join 表2 [on 连接条件]: 交叉连接 语法: from 表1 [cross] join 表2 ; //可 ...
- jmeter5.0 while controller使用总结
while controller 配合sql使用的方式 在while控制器条件中填空,这样当里面的请求断言失败后就会跳出循环 在while控制器条件中填LAST,当里面的请求断言失败后就会跳出循环,如 ...
- Ipython Notebook ipynb文件转化为Python脚本
欢迎关注博主主页,学习python视频资源 方法1. pycharm可以打开 方法2 https://jingyan.baidu.com/article/19192ad8edc736e53e57072 ...
- 13.模板方法(Template Method)
无处不在的Template Method 如果你只想掌握一种设计模式,那么它就是Template Method!动机(Motivate): 变化 -----是软件设计的永恒主题,如何管理 ...
- Linux记录-lsof打开文件工具常用操作
lsof `which httpd` //那个进程在使用apache的可执行文件 lsof /etc/passwd //那个进程在占用/etc/passwd lsof /dev/hda6 //那个进程 ...
- EL表达式遍历集合获取下标
如题,HTML页面很多时候需要循环遍历一个集合,并且获得集合元素得下标做判断,或者把下标传递给后台作为参数 那么我们就需要用到EL表达式的varStatus 代码一:<c:forEach var ...