#前言html

先看爬到的信息:python

今天主要用到了两个库:Requests和BeautifulSoup。因此我先简单的说一下这两个库的用法,提到的都是此文须要用到的。编程

#Requestsbash

requests是一个很实用的Python HTTP客户端库。ui

下面经过一个例子来了解一下:编码

网址就用房天下的天津整租租房信息“http://zu.tj.fang.com/house/n31/”spa

import  requests

#请求头

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',

}

#Get请求-并传递headers

data=requests.get("http://zu.tj.fang.com/house/n31/",headers=headers)

print(data.text)

复制代码

若是正常的话打印出来的就是以下,这里只截取一部分:code

requests请求也会出现异常,这里我就先不细说了,能够去此网址查下具体用法:orm

http://docs.python-requests.org/zh_CN/latest/user/quickstart.htmlcdn

另外上面的代码中的headers是如何来的呢?这里给你们讲一下:

请求头的添加方法:

**1.**打开你要爬取的网址,在空白处右键-->检查,而后点击Network

#BeautifulSoup

Beautiful Soup 是用Python写的一个HTML/XML的解析器,它能够很好的处理不规范标记并生成剖析树(parse tree)。 它提供简单又经常使用的导航(navigating),搜索以及修改剖析树的操做。它能够大大节省你的编程时间。

安装Beautiful Soup时注意一个问题, 个人python是3.6版本,安装的是bs4

import  requests

import  bs4

#请求头

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',

}

#Get请求-并传递headers

data=requests.get("http://zu.tj.fang.com/house/n31/",headers=headers)

soup=bs4.BeautifulSoup(data.text,"html.parser")

print(soup.prettify())

复制代码

输出的是soup文档,结果以下(截取了一部分):

这里主要讲一下Beautiful Soup中的**select()**方法, 经过某个属性查找,而属性能够在网页中复制到。

具体的能够直接此网址学:

http://beautifulsoup.readthedocs.io/zh_CN/latest/

复制的步骤:

**1.**选中你要了解的内容,右键-->检查,好比我对价格进行了“检查”:

**2.**选择copy selector

**3.**复制的放到select方法内,代码以下:

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',

}

data=requests.get("http://zu.tj.fang.com/house/n31/",headers=headers)

soup=bs4.BeautifulSoup(data.text,"html.parser")

concretedata=soup.select("#listBox > div.houseList > dl:nth-of-type(1) > dd > div.moreInfo > p > span")

for houseinformat in  concretedata:

print(houseinformat.get_text())

复制代码

输出的确定是咱们选中的价格

注意的是复制的内容里有dl:nth-child(1),直接改为dl:nth-of-type(1)要不会报错的。另外里面的get_text()方法表示直接获取了文字信息,否则会和标签一块儿显示的。

**强调:**若是要想获取此列表的全部价格的话,直接观察一下会发现,去掉nth-of-type(1)就能够了,你们应该都明白的。也就是把select方法中的内容改成:

而后运行输出(只截取了一部分):

实战

根据上面的爬取方式,咱们能够把当前网页“房天下天津整租租房信息”中的房屋标题,具体内容与价格爬取下来。

1.爬取标题

爬取标题咱们再copy时发现用select方法不是和恰当了,这里应该能看出来吧?看不出来的能够本身去试一试,这里咱们查看爬取下来SOUP文档,发现标题是在P标签下的"title"字段

因此咱们能够直接用Beautiful Soup中的find_all()方法

#标题

title=soup.find_all("p","title")

复制代码

2.爬取价格

这就不用多少了,上面讲过

#价格

price=soup.select("#listBox > div.houseList > dl > dd > div.moreInfo > p > span")

复制代码

3.爬取具体内容

#具体的内容

concretedata=soup.select("#listBox > div.houseList > dl > dd > div.moreInfo > p > span")

复制代码

总体代码以下:

# -*- coding: gbk -*-

import  requests

import  bs4

def get_lastdata():

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',

}

data = requests.get("http://zu.tj.fang.com/house/n31/", headers=headers)

#由于打印出来的格式有乱码,因此更改一下编码

data.encoding="gbk"

soup = bs4.BeautifulSoup(data.text, "html.parser")

# 标题

title = soup.find_all("p", "title")

# 价格

price = soup.select("#listBox > div.houseList > dl > dd > div.moreInfo > p > span")

# 具体的内容

concretedata = soup.select("#listBox > div.houseList > dl > dd > p.font16.mt20.bold")

for title,price,concretedata in zip(title,price,concretedata):

last_data={

"title":title.get_text().strip(),

"concretedata":concretedata.get_text().strip(),

"price":price.get_text().strip()

}

print(   last_data)

if __name__ == '__main__':

get_lastdata()

复制代码

运行结果:

但愿对刚入门的朋友有所帮助!

利用python爬取租房信息_Python爬虫实战(1)-爬取“房天下”租房信息(超详细)相关推荐

  1. python爬取控制台信息_python爬虫实战之爬取智联职位信息和博客文章信息

    1.python爬取招聘信息 简单爬取智联招聘职位信息 # !/usr/bin/env python # -*-coding:utf-8-*- """ @Author  ...

  2. python爬百度贴吧_Python爬虫实战之爬取百度贴吧帖子

    大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 本篇目标对百度贴吧的任意帖子进行抓取 指定是否只抓取楼主发帖内 ...

  3. python爬取网上租房信息_Python爬虫入门 | 5 爬取小猪短租租房信息

    小猪短租是一个租房网站,上面有很多优质的民宿出租信息,下面我们以成都地区的租房信息为例,来尝试爬取这些数据. 1.爬取租房标题 按照惯例,先来爬下标题试试水,找到标题,复制xpath. 多复制几个房屋 ...

  4. go爬虫和python爬虫哪个好_python 爬虫实战项目--爬取京东商品信息(价格、优惠、排名、好评率等)-Go语言中文社区...

    利用splash爬取京东商品信息 一.环境 window7 python3.5 pycharm scrapy scrapy-splash MySQL 二.简介 为了体验scrapy-splash 的动 ...

  5. python爬取boss直聘招聘信息_Python爬虫实战-抓取boss直聘招聘信息

    Python Python开发 Python语言 Python爬虫实战-抓取boss直聘招聘信息 实战内容:爬取boss直聘的岗位信息,存储在数据库,最后通过可视化展示出来 PS注意:很多人学Pyth ...

  6. python爬虫爬图片教程_python爬虫实战之爬取京东商城实例教程

    前言 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1. ...

  7. python爬虫爬取教程_python爬虫实战之爬取京东商城实例教程

    前言 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1. ...

  8. layui获取input信息_python爬虫—用selenium爬取京东商品信息

    python爬虫--用selenium爬取京东商品信息 1.先附上效果图(我偷懒只爬了4页) 2.京东的网址https://www.jd.com/ 3.我这里是不加载图片,加快爬取速度,也可以用Hea ...

  9. python爬取汽车之家_python爬虫实战之爬取汽车之家网站上的图片

    随着生活水平的提高和快节奏生活的发展.汽车开始慢慢成为人们的必需品,浏览各种汽车网站便成为购买合适.喜欢车辆的前提.例如汽车之家网站中就有最新的报价和图片以及汽车的相关内容,是提供信息最快最全的中国汽 ...

最新文章

  1. [UWP小白日记-10]程序启动屏(ios解锁既视感)
  2. php model类,PHP培训之PHP Model类
  3. Emoji表情编解码库XXL-EMOJI
  4. 2-数组中重复的数字
  5. iOS UIKit:UITableView
  6. python script文件夹在哪_Python获取当前脚本文件夹(Script)的绝对路径方法代码
  7. Android 图片压缩、照片选择、裁剪,上传、一整套图片解决方案
  8. 最新,Python终成第1!Java和C长期霸榜时代结束
  9. 三维点云学习(4)7-ransac 地面分割+ DBSCAN聚类比较
  10. 为什么有了scanf还要getchar()
  11. java根据富文本生成pdf文件
  12. ---perl 模块安装方法
  13. 个人博客系统(附源码)
  14. 通过ROS控制真实机械臂(17) --- 视觉抓取之ORK实现三维物体识别
  15. 计算机快捷截图方式,电脑如何快速截图,电脑快速截屏的几种方法
  16. 大数据知识的基本介绍,大数据的特点主要包含哪几个?
  17. 服务器隔离虚拟机,筛选Hyper-V提供的虚拟机隔离选项
  18. AllegroPCB里面设置好颜色,光绘文件artwork和其他板子相关参数怎么重复应用到其他板子里面
  19. 2021高考萧山二中成绩查询,2021年杭州高考各高中成绩及本科升学率数据排名及分析...
  20. javascript无限请求_SockJS - 重新连接后无限xhr-streaming呼叫

热门文章

  1. 用了都说好的PDF转JPG免费在线工具
  2. 合并 gitee 多个 commit,消除 stat/needs-squash 标签
  3. Redis数据结构-SkipList(跳表)
  4. python-元组及元组的操作
  5. 火山PC百集基础教程(火山视窗)
  6. stack overflow是程序员必须会用的社区
  7. 关闭eclipse控制台console中的非Java Server(ESLint、Angular Language Server等)
  8. 单片机STM32直连电调控制航模涵道电机的方法总结
  9. 中国移动清退3G进行时
  10. nagios 服务端与客户端监控安装与详细配置,各配置文件详解