0基础Python实战第二周第一次练习爬取租房信息并入库筛选

下面是代码:

#! /usr/bin/env python
#-*- coding : utf-8 -*-

import requests
from bs4 import BeautifulSoup
import time
import pymongo    #操作数据库

client = pymongo.MongoClient('localhost',27017)    #连接数据库
xiaozhu = client['xiaozhu']    #建立数据库xiaozhu
fangzi = xiaozhu['fangzi']    #在xiaozhu数据库中建立数据表fangzi

def get_fangzi_url():    #定义函数获取房子信息地址
    urls = ['http://bj.xiaozhu.com/search-duanzufang-p{}-0/'.format(i) for i in range(1, 2)]
    fangzi_list = []
    for url in urls:
        web_data = requests.get(url)
        web_data.encoding = 'utf-8'
        soup = BeautifulSoup(web_data.text, 'lxml')

        for fangzi_urls in soup.select('#page_list > ul > li > a'):
            fangzi_list.append(fangzi_urls['href'])
    return fangzi_list

def get_info_and_insert():    #定义函数获取房子信息并入库
    urls = get_fangzi_url()
    for url in urls:
        web_data = requests.get(url)
        web_data.encoding = 'utf-8'
        content = web_data.text
        soup = BeautifulSoup(content,'lxml')

        fangzi_info = {}    #定义字典,存放房子信息

        fangzi_info['title'] = soup.select('em')[1].text
        fangzi_info['area'] = soup.select('.pr5')[0].text.strip()
        fangzi_info['price'] = soup.select('#pricePart .day_l span')[0].text

        fangzi.insert_one(fangzi_info)    #入库
        print(url)    #随意打印点信息,刷存在感
        time.sleep(2)    #慢慢来,休息2秒,防止封爬虫

def find_fangzi():    #定义函数筛选房源
    for info in fangzi.find():
        if int(info['price']) >= 300:
            print(info)
#get_info_and_insert()    #执行获取并入库

find_fangzi()

关键点:

  • 确定信息地址
  • 数据库操作
  • 终于学会了markdown引用代码了,原来是键盘左上角tab键上面那个小点
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,004评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,198评论 4 61
  • 前几天梦到我爸爸了,也许是清明将至的缘故吧。多年过去了,我对爸爸的事情一直只字不提,,或者一句带过,现在可以说一说...
    岭南后生阅读 202评论 4 2
  • 工作中需要写总结报告、情况汇报、项目书,希望系统提升写作能力,发一下狠,30天倒逼机制让写作有质的飞跃。 第一阶段...
    DTttt阅读 119评论 0 0