首页 > 其他分享 >mongo db

mongo db

时间:2024-05-29 15:12:59浏览次数:19  
标签:__ mongo text self db div data response

import requests
import pymongo
from lxml import etree

class Houst(object):
    def __init__(self):
        self.url="https://cs.lianjia.com/ershoufang/"
        self.headers ={
            "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.95 Safari/537.36"
        }
       # 连接MongoDB
        self.client= pymongo.MongoClient(host="localhost",port=27017)
        self.db = self.client["my_data"]

    def get_data_index(self):
        response=requests.get(self.url,headers=self.headers)
        response.encoding= "utf-8"
        if response.status_code==200:
            return response.text
        else:
            return  None

    def parse_data_index(self,response):
        html=etree.HTML(response)
        data_list=html.xpath('//ul[@class="sellListContent"]//li[@class="clear LOGVIEWDATA LOGCLICKDATA"]')
        print(data_list)
        for data in data_list:
            # title = data.xpath('./div[@class="info clear"]/div[@class="title"]/a/text()')
            title = data.xpath('./div[1]/div[1]/a/text()')[0]
            info = data.xpath("./div[1]/div[3]/div[1]/text()")[0]
            number = data.xpath("./div[1]/div[4]/text()")[0]
            yield {
                '名称': title,
                "户型": info,
                "关注人数": number
            }

    def main(self):
        response=self.get_data_index()
        for item in self.parse_data_index(response):
            print(item)
        self.db.house.insert_one(item)

if __name__=='__main__':
    spider=Houst()
    spider.main()

标签:__,mongo,text,self,db,div,data,response
From: https://www.cnblogs.com/tudoot/p/18220331

相关文章

  • 深入探索 MongoDB:高级索引解析与优化策略
    MongoDB是一种非常流行的NoSQL数据库,它支持丰富的索引类型和功能,以提高数据查询的效率和性能。本文将详细介绍MongoDB的高级索引,包括基本语法、常用命令、示例、应用场景、注意事项和总结。基本语法在MongoDB中,可以使用createIndex()方法创建索引,语法如下:db.col......
  • kbgressdb之数据结构V0.2
    前言原本计划2024.05.01日开始编码,直到2024.05.21日才开始编码,因为在2024.05.19日才感觉体力恢复到了九成,然后就开始kbgressdbV0.2版本设计,经过一周的推演与构思,终于在2024.05.29日完成V0.2版本设计。为什么把大量精力放在kbgressdb数据结构上?或许你会有此一问,因为这个kbgressdb......
  • Android通过adb命令模拟发送广播
    前言通过命令行执行adbshellambroadcast发送广播通知。adbshellambroadcast后面的参数有:<INTENT>specificationsincludetheseflagsandarguments:[-a<ACTION>][-d<DATA_URI>][-t<MIME_TYPE>][-c<CATEGORY>[-c<CATEGORY>]...][-e|--......
  • MongoDB CRUD操作:投影Project详解
    MongoDBCRUD操作:投影Project详解文章目录MongoDBCRUD操作:投影Project详解返回文档的全部字段返回指定的字段和_id字段不输出_id字段指定排除的字段返回内嵌文档中的指定字段禁止内嵌文档中的特定字段数组中内嵌文档的投影聚合表达式的投影字段默认情况下,MongoDB查......
  • 0Linux GDB学习笔记
    LinuxGDB使用目录文章目录LinuxGDB使用先编译文件1.检查安装1.1安装GDB2.启动GDB3.退出GDB4.设置断点4.1在指定行号处设置断点4.2在指定函数名处设置断点4.3在指定源文件和行号处设置断点4.4查看断点信息4.5删除断点5.运行5.1<fontcolor=#ff0000>逐过程:遇到......
  • Modbus TCP报文详解
    一、ModbusTCP协议构成ModbusTCP通信协议主要包括三个部分:报文头(MBAP)、功能码和数据。ModbusTCP/IP协议的最大数据帧为260个字节。二、MBAP报文头构成MBAP报文头占7个字节,具体构成如下:事务处理标识符(TransactionIdentifier):2个字节,为此次通信事务处理标识符,一般每次通信......
  • MongoDb简介
    MongoDb入门MongoDB不是关系数据库,而是面向文档(document-oriented)的数据库。MongoDB的设计采用了横向扩展。面向文档的数据模型使跨多台服务器拆分数据更加容易。MongoDB会自动平衡跨集群的数据和负载,自动重新分配文档,并将读写操作路由到正确的机器上文档文档是MongoDB......
  • 无线领域的DBDC
    在无线领域,DBDC(Dual-Band,Dual-Carrier)指的是双频双载波技术。这是一种无线通信技术,允许设备同时使用两个不同的频段(双频)和两个不同的载波信号(双载波)进行数据传输。这可以提高数据传输速率、扩大覆盖范围并提高网络容量。DBDC技术的优势包括:更高的数据传输速率:通过同时使用两个......
  • Docker安装MongoDB
    拉取mongo镜像dockerpullmongo:4.4创建mongo数据持久化目录mkdir-p/docker_volume/mongodb/data运行容器dockerrun-itd--namemongo-v/docker_volume/mongodb/data:/data/db-p27017:27017mongo:4.4--auth.创建用户登录mongo容器,并进入到【admin】数据库dockerexec-......
  • Docker 快速搭建 MongoDB 4.x 集群(一主一从)
    目录1.生成mongo-file2.启动主节点3.启动从节点4.配置副本集5.注意事项环境:MongoDB4.0.25,AlmaLinux(建议使用Linux)部署的时候是在同一个及其上操作的,实际可以放在不同机器上。截止到2024年05月,MongoDB已经到7.x版本,后续再补一个7.x较新版本的安装......