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

#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. Linux编译C语言程序

    1.首先安装gcc包,运行C++程序,安装gcc-c++ 包 如果没有安装的自行进行安装 2.编辑C语言程序, 打印乘法口诀表 [root@Db1 c]# vim chengfa.c 在编辑界面中,输 ...

  2. 【记坑】Oracle数据库Date类型查询结果多出".0"的解决方法

    oracle设置数据库某张表的字段类型为date,数据库存值为 2019-11-25 18:51:47 格式,但是从数据库查询出来之后格式为 String stopTime = map.get(&qu ...

  3. eclipse 彻底修改复制后的项目名称

    1.项目右键 --> properties --> Web Project Settings --> 修改Context root 2.web.xml 3.工作空间中找到当前项目下. ...

  4. vue 计算属性的setter getter

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. concurrent=false/true的定时任务job策略介绍

    前言: 四种测试情况,cronExpression = 0/30 * * * * ? : 1,一个trigger,job设置的是每30s执行一次,实际需要75s:concurrent=false: 2 ...

  6. 获取本机IP,本机名称

    InetAddress addr = InetAddress.getLocalHost(); ip=addr.getHostAddress().toString;//获得本机IP address=ad ...

  7. Java之数据库连接池

    未使用数据库连接池,需要从底层申请数据库连接来访问数据库,访问结束之后需要把链接丢弃.长此以往浪费时间. 数据库连接池就是用容器来申请访问,容器里有很多连接对象,用户来容器里拿一个连接对象一起访问数据 ...

  8. git——创建分支后,切换分支报错(error: pathspec 'master' did not match any file(s) known to git)

    error: pathspec 'master' did not match any file(s) known to git 解决办法: 1.查看分支 git branch -a 2.获取所有分支 ...

  9. 折半枚举——poj3977

    暴力搜索超时,但是折半后两部分状态支持合并的情况,可用折半枚举算法 poj3977 给一个序列a[],从里面找到k个数,使其和的绝对值最小 经典折半枚举法+二分解决,对于前一半数开一个map,map[ ...

  10. error LNK2019: 无法解析的外部符号 "__declspec(dllimport) long __stdcall RtlGetVersion(struct _OSVERSIONINFOW

    虽然ntdll.lib库也引用了,但还是提示找不到RtlGetVersion函数定义,工程中头文件的定义如下: NTSYSAPI NTSTATUS NTAPI RtlGetVersion(     _ ...