1、爬虫思路分析
(1)原来的北京短租房的地址规则如下:
http://bj.xiaozhu.com/
http://bj.xiaozhu.com/search-duanzufang-p2-0/
http://bj.xiaozhu.com/search-duanzufang-p3-0/
http://bj.xiaozhu.com/search-duanzufang-p4-0/

(2)需要爬取的信息有:标题、地址、价格、房东名称、房东性别和房东头像的链接

"""
# 案例要求:
# 将利用到 Requests和BeautifulSoup库,爬取小猪短租网gz地区租房的信息

#导入相应的库文件
from bs4 import BeautifulSoup as bs
import requests as rs
import time as t

# 加入请求头,伪装成浏览器模式
headers={
   'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134'
   }

#定义判断用户性别的函数
def judgment_sex(class_name):
    #if class_name==['member_ico1']:
    if class_name==["member_girl_ico"]:
        return '女'
    else:
        return '男'
    
#定义获取详细页URL的函数
def get_links(url):
    wb_data=rs.get(url,headers=headers)
    soup=bs(wb_data.text,'lxml')
    links=soup.select('#page_list > ul > li > a') #links为URL列表
    for link in links:
        href=link.get("href")
        print(href)
        get_info(href)  #循环出的URL,依次调用get_info()函数
        
#定义获取网页信息的函数
def get_info(url):
    wb_data=rs.get(url,headers=headers)
    soup=bs(wb_data.text,'lxml')
    #titles=soup.select('span.pr5') #获取title
    titles=soup.select('div.wrap.clearfix.con_bg > div.con_l > div.pho_info > h4 > em')
    #addresses=soup.select('div.pho_info > h4') #获取地址
    addresses=soup.select('div.con_l > div.pho_info > p > span')
    prices=soup.select('#pricePart > div.day_l > span')#获取价格
    imgs=soup.select('#floatRightBox > div.js_box.clearfix > div.member_pic > a > img')
    names=soup.select('#floatRightBox > div.js_box.clearfix > div.w_240 > h6 > a')
    #sexs=soup.select('div.js_box.clearfix > div.member_pic > div')
    sexs=soup.select('#floatRightBox > div.js_box.clearfix > div.w_240 > h6 > span')
    for title,address,price,img,name,sex in zip(titles,addresses,prices,imgs,names,sexs):
        data={
            'title':title.get_text().strip(),
            'address':address.get_text().strip(),
            'price':price.get_text(),
            'img':img.get("src"),
            'name':name.get_text(),
            'sex':judgment_sex(sex.get("class"))
                }
        print(data)  #获取信息并通过字典打印出来

#为程序的主入口’
if __name__=='__main__':
   urls=['http://gz.xiaozhu.com/search-duanzufang-p{}-0/'.format(number) for number in range(1,14)]
   for singe_url in urls:
        get_links(singe_url)
        t.sleep(2) #睡眠2秒

网络爬虫:爬取某地区短租房信息相关推荐

  1. Python疫起学习·万丈高楼平地起Day09(精简版|浓缩就是精华)爬虫知识附上案例爬取北京地区短租房信息、爬取酷狗TOP500的数据以及爬取网易云音乐热歌榜单

    爬虫知识 Requests库 部分运行结果如下: 有时爬虫需要加入请求头来伪装成浏览器,以便更好地抓取数据.在Chrome浏览器中按F12键打开Chrome开发者工具,刷新网页后找到User-Agen ...

  2. Python爬取北京地区短租房信息

    本文利用Requests和BeautifulSoup第三方库,爬取小猪短租网北京地区短租房的信息.代码参考<从零开始学Python网络爬虫>. 完整代码如下: from bs4 impor ...

  3. 爬取北京地区短租房信息

    题目 爬取http://bj.xiaozhu.com/ 中北京地区短租房13页的信息(标题.地址.价格.房东名称.房东性别和房东头像的链接). 注意:这个小猪网址,第一次打开需要验证,所以先在浏览器上 ...

  4. 网络爬虫爬取淘宝页面商品信息

    网络爬虫爬取淘宝页面商品信息 最近在MOOC上看嵩老师的网络爬虫课程,按照老师的写法并不能进行爬取,遇到了一个问题,就是关于如何"绕开"淘宝登录界面,正确的爬取相关信息.通过百度找 ...

  5. python网络爬虫_Python网络爬虫——爬取视频网站源视频!

    原标题:Python网络爬虫--爬取视频网站源视频! 学习前提 1.了解python基础语法 2.了解re.selenium.BeautifulSoup.os.requests等python第三方库 ...

  6. python如何爬虫网页数据-python网络爬虫爬取网页内容

    1.什么是网络爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自 ...

  7. 如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

    前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...

  8. python朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

    前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...

  9. python抓取朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)...

    原标题:如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下) 前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往 ...

最新文章

  1. xml教程之约束schema
  2. VTK:相互作用之RubberBand2D
  3. [转]如何在.NET MVC中使用jQuery并返回JSON数据
  4. php 不解析,php不解析html代码
  5. Intel Core Enhanced Core架构/微架构/流水线 (14) - 存储器/内存读写 Memory Load/Store
  6. CVE-2021-2429:MySQL InnoDB Memcached 插件中的堆缓冲区溢出漏洞详解
  7. 微信支付:nginx配置 网页授权域名 用户在网页授权页同意授权给公众号后,微信会将授权数据传给一个回调页面,回调页面需在此域名下,以确保安全可靠。
  8. CSS3特殊图形制作
  9. python批量图片压缩
  10. WordPress社交问答社区主题模板
  11. 【SQL注入】 sql注入中的union和limt关键字的使用解析
  12. 腾讯企业邮箱管理权限可实现什么?
  13. 计算机管理系统在哪里,图文详解win10设备管理器在哪打开
  14. LaTeX 使用心得:节标题(section)中使用数学符号
  15. 小程序读取excel表格数据,并存储到云数据库
  16. 2021/11/27大数据1+XJava答案
  17. Gitee(码云)托管代码超详细!!!
  18. 批量修改文件名中的一部分,操作步骤
  19. tensorflow版本对应关系
  20. 交换机基本配置(思科模拟器)

热门文章

  1. exceljs 导入导出 excel 文件
  2. 使用stream实现两个list集合的合并(对象属性的合并)
  3. 51Talk第一天 培训系列1
  4. Springboot 序列化空对象报错解决办法
  5. Linux学习笔记——系统函数IO
  6. DEEP DOUBLE DESCENT: WHERE BIGGER MODELS AND MORE DATA HURT
  7. 他,是碾压爱迪生的科技天才!尼古拉特斯拉的一生竟是这样...
  8. ZSC 1306: 沼跃鱼早已看穿了一切 题解
  9. vue : 无法加载文件 C:\Users\lihongjie\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 htt ps:/go.micr
  10. 苏州python培训价格