Python爬虫(9)selenium爬虫后数据,存入mongodb实现增删改查

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 Python爬虫(9)selenium爬虫后数据,存入mongodb实现增删改查,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

在这里插入图片描述
之前的文章有关于更多操作方式详细解答,本篇基于前面的知识点进行操作,如果不了解可以先看之前的文章
Python爬虫(1)一次性搞定Selenium(新版)8种find_element元素定位方式
Python爬虫(2)-Selenium控制浏览器
Python爬虫(3)-Selenium结合pywin32模拟键盘操作
Python爬虫(4)-Selenium模拟鼠标操作
Python爬虫(5)-selenium用显式等待、隐式等待、强制等待,解决反复爬取网页时无法定位元素问题
Python爬虫(6)-selenium用requests、wget、urllib3这3种方法搞定图片和PDF文件下载
Python爬虫(7)selenium3种弹窗定位后点击操作,解决点击登录被隐藏iframe无法点击的登陆问题

Python爬虫(8)selenium爬虫后数据,存入sqlit3实现增删改查

Python 中安装pymongodb

pip3 install pymongo

插入数据

selenium爬虫后插入单条数据

import csv
import pymongo
from selenium.webdriver import Chrome, ChromeOptions
from selenium.webdriver.common.by import By
opt = ChromeOptions()            # 创建Chrome参数对象
opt.headless = True              # 把Chrome设置成可视化无界面模式,windows/Linux 皆可
driver = Chrome(options=opt)     # 创建Chrome无界面对象
driver.get("https://hui.fang.anjuke.com/loupan/all/a1_m94-95_o8_w1_z3/")
def sc():
    housename = driver.find_element(By.XPATH, '//*[@id="container"]/div[2]/div[1]/div[3]/div[1]/div/a[1]/span').text
    houseaddress = driver.find_element(By.XPATH, '//*[@id="container"]/div[2]/div[1]/div[3]/div[1]/div/a[2]/span').text
    housearea = driver.find_element(By.XPATH, '//*[@id="container"]/div[2]/div[1]/div[3]/div[1]/div/a[3]').text
    #连接mongodb,一定要按照mongodb的端口号来配置
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    #连接数据库,如果数据库中没有相应的数据库名称会自动创建一个
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    #创建一个数据库名
    mydb = myclient["test"]
    #创建一个集合名
    mycol = mydb["sc_house"]
    #执行插入数据库
    mydict = {"housename_m": housename, "houseaddress_m": houseaddress, "housearea_m": housearea}

    # 插入一条数据
    x = mycol.insert_one(mydict)
if __name__ == "__main__":
    sc()

在这里插入图片描述
以下所有的代码直接放到def中即可使用

插入多条数据


    mydict = [{"housename_m": housename, "houseaddress_m": houseaddress, "housearea_m": housearea},
              {"housename_m": housename, "houseaddress_m": houseaddress, "housearea_m": housearea},]
    x = mycol.insert_many(mydict)

查询数据

	import pymongo
	myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    #创建一个数据库名
    mydb = myclient["test"]
    #创建一个集合名
    mycol = mydb["sc_house"]
    #查询文档中第一条数据
    x = mycol.find_one()
    print(x)

在这里插入图片描述

查询文档中所有数据

for x in mycol.find():
    print(x)

在这里插入图片描述

删除数据

#删除字段
    mycol.delete_one({"housename_m":"y"})

可以看到被删除的指定字段
在这里插入图片描述

修改数据

更新一条数据,指定键更新

mycol.update_one({“housename_m”:‘五矿哈施塔特’},{“$set”:{“housename_m”:‘y’}})

数据排序

升序排序

mymongodb= mycol.find().sort("houseaddress_m")
    for x in mymongodb:
        print(x)

在这里插入图片描述

降序排序

mymongodb = mycol.find().sort("houseaddress_m", -1)
    for x in mymongodb:
        print(x)

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/134060.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!