IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python 爬取链家网北京租房信息 -> 正文阅读

[Python知识库]python 爬取链家网北京租房信息

刚学习了python,中途遇到很多问题,查了很多资料,最关键的就是要善于调试,div信息一定不要找错,下面就是我爬取租房信息的代码:

链家的房租网站

两个导入的包

1.requests 用来过去网页内容

2.BeautifulSoup

import time

import pymssql

import requests

from bs4 import BeautifulSoup
#https://bj.lianjia.com/zufan

完整代码如下:

import requests
import uuid
import time
from bs4 import BeautifulSoup
from src.request import send as send
from src.database import database as database

def requestHtmlData() :

conn = database.initDataConnect()

url = "https://bj.lianjia.com/zufang/pg{0}/#contentList"

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.43'
}
i = 1;
while(1==1):
    rurl = url.replace("{0}",str(i))
    print("请求地址:"+rurl)
    i+=1
    if(i>100):
        i=1
    resp = requests.get(rurl,headers=headers)
    #print(resp.text)  #网页内容 文本
    #print(resp.content.decode('utf-8'))   #网页内容  二进制

    html=resp.text
    soup =BeautifulSoup(html,'html.parser')#解析
    #print (soup)
    infos = soup.findAll(class_='content__list--item')
    #print(infos)
    for info in infos:
        try:
            data_house_code = info.attrs['data-house_code']
            name = info.find(class_='content__list--item--aside').attrs['title']
            price = info.find(class_='content__list--item--main').find(class_='content__list--item-price').find('em').get_text();
            area = info.find(class_='content__list--item--main').find(class_='content__list--item--des').a.get_text();
            addresses = info.find(class_='content__list--item--main').find(class_='content__list--item--des').findAll('a');
            address = addresses[0].get_text()+'-'+addresses[1].get_text()+'-'+addresses[2].get_text()
            tags = info.find(class_='content__list--item--main').find(class_='content__list--item--bottom').findAll('i');
            tagStr = ''
            for tag in tags:
                if(tagStr!='') :
                    tagStr += '-'
                tagStr += tag.get_text()
                           deleteSql = "delete from building_data where id = '"+data_house_code+"';"
            database.execSql(deleteSql)
            insertSql = "INSERT INTO building_data (id, name, adrress, area, price, location, bz) VALUES ('"+data_house_code+"', '"+name+"', '"+address+"', '"+area+"', '"+price+"', '', '"+tagStr+"');"
            database.execSql(insertSql)
        except Exception as e:
            print(e)
    print("睡眠5s")
    time.sleep(5)

总结

我们用到的数据有时候不是现成的,需要从网上爬取。python提供了很好的爬虫包,有requests、BeautifulSoup. scrapy。可以直接导入。
1、首先安装需要用到的包 requests 和 BeautifulSoup。2、抓取和解析页面链家网的租房列表页,URL结构为:https://bj.lianjia.com/zufang/pg/bj表示城市 zufang是频道名称首页面码 我们要抓取的是北京的租房频道,所以前面的部分不会变。将URL分为两部分,前面的固定部分赋值给url,后面的可变部分使用for循环遍历页面。我们使用for循环生成,转化格式后于前面的URL固定部分拼成要抓取的URL。将抓取的页面保存到html中#循环抓取列表页信息。BeautifulSoup对页面进行解析#解析抓取的页面内容=BeautifulSoup(html,‘html.parser’)完成解析后,就开始对页面中的关键信息进行提取了。我们提取租房的价格、小区,地址,户型,面积,价格更新时间等信息。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

希望对刚学习爬虫的小伙伴有帮助!(?˙▽˙?)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 15:53:53  更:2021-12-14 15:55:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:28:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码