代码已久,有可能需要调整

#coding:utf-8
from bs4 import BeautifulSoup #有这个bs4不用正则也可以定位要爬取的内容了
from urlparse import urljoin
import requests
import csv
import html5lib URL = 'http://hn.ganji.com/fang1/' #爬取的目标地址
ADDR = 'http://hn.ganji.com/' if __name__ == '__name__'
start_page = 1 #开始爬取的页面
end_page = 10 #结束爬取的页面
price = 7 #爬取的价格 #f = open('ganji.csv','wb')这样打开一个文件最后需要关闭
with open('ganji.csv','wb') as f: #创建一个csv文件,with ... as f表示打开文件最后用完自动关闭,一般和打开文件一起用
#delimiter=','表示以逗号为分隔符,如:'天通苑一区','天通苑','1500'
csv_writer = csv.writer(f,delimiter = ',')
print('start..........') while start_page <= end_page:
start_page += 1
print('get:{0}'.format(URL.format(page = start_page,price = price)))#开始爬取
response = requests.get(URL.format(page = start_page,price = price))#获取页面
html = BeautifulSoup(response.text,'html.parser')
#第一个参数是要抓取的html文本,第二个是使用哪种解析器(python默认的解析器)
house_list = html.select('.f-list > .f-list-item > .f-list-item-wrap') #括号里面的表示html标签的层次,具体可查看赶集网
#获取房源信息,也可以用正则区匹配
if not house_list:
break for house in house_list:
house_title = house.select('.title > a')[0].string.encode('utf-8') #[0]取列表的第一个标签
house_addr = house.select('.address > .area > a')[-1].string.encode('utf-8') #[-1]取列表的第一个标签
house_price = house.select('.info > .price > .num')[0].string.encode('utf-8')
house_url = urljoin(ADDR,house.select('.title > a')[0]['href'])
csv_writer.writerow([house_title,house_addr,house_price,house_url])
print('end.........')

Python 爬取赶集网租房信息的更多相关文章

  1. 利用python爬取贝壳网租房信息

    最近准备换房子,在网站上寻找各种房源信息,看得眼花缭乱,于是想着能否将基本信息汇总起来便于查找,便用python将基本信息爬下来放到excel,这样一来就容易搜索了. 1. 利用lxml中的xpath ...

  2. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...

  3. Python爬虫项目--爬取自如网房源信息

    本次爬取自如网房源信息所用到的知识点: 1. requests get请求 2. lxml解析html 3. Xpath 4. MongoDB存储 正文 1.分析目标站点 1. url: http:/ ...

  4. Node.js爬虫-爬取慕课网课程信息

    第一次学习Node.js爬虫,所以这时一个简单的爬虫,Node.js的好处就是可以并发的执行 这个爬虫主要就是获取慕课网的课程信息,并把获得的信息存储到一个文件中,其中要用到cheerio库,它可以让 ...

  5. 用Python爬取智联招聘信息做职业规划

    上学期在实验室发表时写了一个爬取智联招牌信息的爬虫. 操作流程大致分为:信息爬取——数据结构化——存入数据库——所需技能等分词统计——数据可视化 1.数据爬取 job = "通信工程师&qu ...

  6. python爬取 “得到” App 电子书信息

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 静觅 崔庆才 PS:如有需要Python学习资料的小伙伴可以加点击下 ...

  7. Python爬取房天下二手房信息

    一.相关知识 BeautifulSoup4使用 python将信息写入csv import csv with open("11.csv","w") as csv ...

  8. python爬取北京政府信件信息01

    python爬取,找到目标地址,开始研究网页代码格式,于是就开始根据之前学的知识进行爬取,出师不利啊,一开始爬取就出现了个问题,这是之前是没有遇到过的,明明地址没问题,就是显示网页不存在,于是就在百度 ...

  9. 使用python爬取东方财富网机构调研数据

    最近有一个需求,需要爬取东方财富网的机构调研数据.数据所在的网页地址为: 机构调研 网页如下所示: 可见数据共有8464页,此处不能直接使用scrapy爬虫进行爬取,因为点击下一页时,浏览器只是发起了 ...

随机推荐

  1. element 点击切换按钮的颜色

    1.html <el-button-group label="时间"> <el-button @click="seeHour" :type=& ...

  2. 安装express 出现 错误

    w 在网上找了很多都解决不了问题,直到换了文件新建路径就可以了 成功: 学习就是不断发现问题解决问题的过程

  3. SpringDataRedis依赖

    <dependencies>        <dependency>            <groupId>junit</groupId>       ...

  4. 排序+并查集——cf1213F

    /* 有向边(pi,pi+1),形成链后进行dfs,求出dfs序 一个联通块内的元素必须是同一个字符,如果最后的联通块个数<k,说明不行 */ #include<bits/stdc++.h ...

  5. 执行 systemctl start firewalld 命令后出现Failed to start firewalld.service: Unit is masked

    firewalld服务被锁定,不能添加对应端口 执行命令,即可实现取消服务的锁定 # systemctl unmask firewalld 下次需要锁定该服务时执行 # systemctl mask ...

  6. 随机生成一串字符串(java)

    该随笔为开发笔记 今天在公司接手了一个项目,在看该项目老代码时,发现上一位大佬写的随机取一串字符串还不错,在此做一次开发笔记 在他的基础上我做了点改动,但是原理一样 /** * 随机取一段字符串方法1 ...

  7. ios移动输入框被软键盘遮挡

    页面输入框会出现被软键盘挡住的问题: 解决方法:获取input点击事件设置body高度 $('input').bind('click',function(e){ var $this = $(this) ...

  8. RF中滚动条的操作方法小结

    滚动条分为俩种,一:主页面中的滚动条.二:页面中的子页面的滚动条. 每种滚动条有都分为上下滑动与左右滑动. 下面分别介绍: 一:主页面的滚动条上下滑动: execute javascript      ...

  9. C++之手写strlen函数

    代码: int strlen(const char *str){ assert(str!=NULL); intlen=; while((*str++)!='\0') len++; return len ...

  10. 22. Jmeter NON GUI模式

    一般情况下我们都是在NonGUI模式下运行jmeter.这样做有两个好处 节省系统资源,能够产生更大的负载 可以通过命令行参数对测试场景进行更精细的配置 需求:模拟5个用户同时访问百度首页的情况 步骤 ...