python爬虫抓取房产_python爬虫程序 小猪短租北京房子300个详情页爬取

import requests

from bs4 import BeautifulSoup

urls = ['http://bj.xiaozhu.com/search-duanzufang-p{}-0/'.format(str(i)) for i in range(1,15,1)]

def spider_prepare(urls):

spider_urls = []

for url in urls:

if len(spider_urls)

print(len(spider_urls))

response = requests.get(url)

soup = BeautifulSoup(response.text, 'lxml')

links = soup.select('a[class="resule_img_a"]')

for link in links:

new_link = link.get('href')

spider_urls.append(new_link)

return spider_urls

# 查看是否抓取待爬取的url链接成功

print(spider_prepare(urls))

data = {}

for url in spider_prepare(urls):

print(url)

response = requests.get(url)

soup = BeautifulSoup(response.text, 'lxml')

title = soup.select('div.pho_info > h4')[0].text

address = soup.select('div.con_l > div.pho_info > p')[0].get('title')

price = soup.select('#pricePart > div.day_l > span')[0].text

pic = soup.select('#curBigImage')[0].get('src')

name = soup.select('a.lorder_name')[0].text

name_pic = soup.select('div.member_pic > a > img')[0].get('src')

name_gender = soup.select('div.w_240 > h6 > span')[0].get('class')

# # 查看结果

# print(title)

# print(address)

# print(price)

# print(pic)

# print(name)

# print(name_pic)

# print(name_gender)

def gender(name_gender):

if name_gender[0] == "member_boy_ico":

return 'boy'

elif name_gender[0] =="member_girl_ico":

return 'girl'

else:

return '未知'

# 验证结果

# print(gender(name_gender))

data = {

'title':title,

'address':address,

'price':price,

'pic':pic,

'name':name,

'name_pic':name_pic,

'name_gender':gender(name_gender)

}

# 验证data

print(data)

with open(r'D:\python3\tripadvisor_spider\xiaozhu.txt','a+',encoding='utf-8') as file_text:

# data['title'].strip('\n') 去除字典title的\n符号

file_text.writelines('标题:{}\t地址:{}\t价格:{}\t照片:{}\t屋主姓名:{}\t屋主照片:{}\t屋主性别:{}\n'.\

format(data['title'].strip('\n'),data['address'],data['price'],data['pic'],data['name'],\

data['name_pic'],data['name_gender']))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值