python爬虫--租房信息

一、准备

谷歌浏览器打开
http://bj.xiaozhu.com/fangzi/37609773603.html

在这里插入图片描述
在这里插入图片描述

前面几节已经说了:
快速pip安装库,详见我的博客【pip快速安装python包】。
编译器选择,IDLE,pycharm之类的。
soup.select()中的填写详见我的博客【python爬虫–旅游景点】中有叙述。
headers内容的更改,(如果不写headers则运行几次代码,浏览器就会限制你访问。)

二、爬取的内容明细

在这里插入图片描述

难点: 性别部分利用if语句。
在这里插入图片描述

三、这里直接写代码

import requests
from bs4 import BeautifulSoup

URL = 'http://bj.xiaozhu.com/fangzi/37609773603.html'
URL1 = 'http://bj.xiaozhu.com/fangzi/40280014403.html'
#不写headers浏览器会禁止访问,我的博客[python爬虫--招聘信息]中有对headers的详细解释。
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'
}
wb_data = requests.get(URL, headers=headers)
soup = BeautifulSoup(wb_data.content, 'lxml')
#print(soup)
HouseName = soup.select('div > div > div > h4 > em')
HouseAdress = soup.select('div.wrap > div > div > p > span')
HousePrice = soup.select('#pricePart > div.day_l > span')
HousePicture = soup.select('#curBigImage')
WannerPicture = soup.select('#floatRightBox > div.js_box.clearfix > div.member_pic > a > img')
WannerName = soup.select('#floatRightBox > div.js_box.clearfix > div.w_240 > h6 > a')
WannerSex = soup.select('#floatRightBox > div.js_box.clearfix > div.member_pic > div')
if WannerSex[0]['class'][0] == 'member_ico':
    WannerSex = '男'
elif WannerSex[0]['class'][0] == 'member_ico1':
    WannerSex = '女'
else:
    WannerSex = '性别不明'
'''body > div.wrap.clearfix.con_bg > div.con_l > div.pho_info > p > span   
删掉前面的body >  如果爬出来的数据是空值,空列表,索引超过范围等这种错误,则需要删除前面的一些,或者删除每个点后面的东西
例如上面这条最终
可以是div.wrap.clearfix.con_bg > div.con_l > div.pho_info > p > span
也可以是div.wrap > div > div > p > span'''

'''以下用了两种字符串输出方式:拼接“+”,和字符串输出“%s”
用了3种爬虫输出文本方式,get_text(),text和string'''
print('名称:%s' %HouseName[0].string)
print('地址:%s' %HouseAdress[0].get_text().strip())
print('价格:'+HousePrice[0].text)
print('房子图片:'+HousePicture[0]['src'])
print('主人照片:'+WannerPicture[0]['src'])
print('主人姓名:'+WannerName[0].text)
print('主人性别:'+WannerSex)

四、输出结果

1、URL = ‘http://bj.xiaozhu.com/fangzi/37609773603.html

名称:北京《依慕山舍二号院》慕田峪长城~烧烤亲子游
地址:北京市怀柔区渤海镇三渡河村
价格:1880
房子图片:https://image.xiaozhustatic1.com/00,800,533/16,0,79,36666,1800,1202,3510517e.jpg
主人照片:https://image.xiaozhustatic1.com/21/17,0,83,5096,414,415,fb86e91a.jpg
主人姓名:慕田峪依慕山舍
主人性别:男

Process finished with exit code 0

---------------------------------------------------------------------------------------------------
2、URL1 = ‘http://bj.xiaozhu.com/fangzi/40280014403.html

名称:望京SOHO/阿里巴巴旁的清新田园公寓
地址:北京市朝阳区望京宝星国际108号楼
价格:498
房子图片:https://image.xiaozhustatic1.com/00,800,533/18,0,40,7472,1800,1200,7046a662.jpg
主人照片:https://image.xiaozhustatic1.com/21/18,0,32,4781,329,329,f1df76d4.jpg
主人姓名:茉莉Fineday
主人性别:女

Process finished with exit code 0

若遇到headers错误,请更改为自己电脑的headers,更改方法,看我的博客【python爬虫–招聘信息】–>headers错误信息处理
https://blog.csdn.net/qq_43371004/article/details/83688189

谢谢支持,本人亲测运行成功。

猜你喜欢

转载自blog.csdn.net/qq_43371004/article/details/83717301