python爬取疫情数据导入mongodb(python爬取疫情数据保存csv)

http://www.itjxue.com  2023-03-31 02:44  来源:未知  点击次数: 

python 怎样通过遍历以下文件后全部读到mongodb数据库中?

python 访问 mongodb 需要先安装 pymongo,如下:

1

pip?install?pymongo

txt 文件格式:

代码如下:

#coding=utf-8?from?pymongo?import?MongoClient?conn?=?MongoClient('127.0.0.1',?27017)?#?连接?test?数据库,没有则自动创建db?=?conn.test???#?使用?students?集合,没有则自动创建students?=?db.students?#?打开学生信息文件,?并将数据存入到数据库with?open('students.txt',?'r')?as?f:?????????for?line?in?f.readlines():?????????????????#?分割学生信息????????items?=?line.strip('\r').strip('\n').split(',')?????????????????#?添加到数据库????????students.insert({?'stu_id':?items[0],?'name':?items[1],?'grade':?int(items[2])?})?#?数据库查询学生信息并打印出来for?s?in?students.find():????print(s)

python写了一个爬虫,内容储存到mongodb数据库,遇到一个错误不知怎么改,求大神帮忙

你不能直接存储一个类的实例啊,mongodb用bson存储数据,bson是json的binary形式,所以你只能存储javascript的基本类型、Object和Array这些东西。像beautiful soup里面的类的实例,你可以存储关键的数据,到你再需要用的时候,取出数据再构造一个新实例,而不是把这个实例存入数据库。

请教一个python 链接mongodb问题

在这周学习Python tornado的过程中,接触了新的数据库mongo.

在刚开始连接的过程中,就出现了如下的问题,特此记录一下。

AttributeError: 'module' object has no attribute 'Connection'

python版本2.7.11

pymongo版本3.3.0

根据网上的教程,首先导入pymongo,连接第一步的步骤大都是如下的

import pymongo

conn = pymongo.Connection('localhost',27017)

然后就报错啦啦啦啦!

AttributeError: 'module' object has no attribute 'Connection'

然后发现我看的pymongo教程大都是几年前的,pymongo的版本应该也比较低。

后面百度,google了一下,原来是新的pymongo中取消了Connection这个方法。

新的版本需要新建一个client,然后才是连接。

from pymongo import MongoClient

client=MongoClient()

client

MongoClient('localhost', 27017)

mongo_client – Tools for connecting to MongoDB

python爬虫用什么库

以下是爬虫经常用到的库

请求库

1. requests

requests库应该是现在做爬虫最火最实用的库了,非常的人性化。有关于它的使用我之前也写过一篇文章 一起看看Python之Requests库 ,大家可以去看一下。

2.urllib3

urllib3是一个非常强大的http请求库,提供一系列的操作URL的功能。

3.selenium

自动化测试工具。一个调用浏览器的 driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。

对于这个库并非只是Python才能用,像JAVA、Python、C#等都能够使用selenium这个库

4.aiohttp

基于 asyncio 实现的 HTTP 框架。异步操作借助于 async/await 关键字,使用异步库进行数据抓取,可以大大提高效率。

这个属于进阶爬虫时候必须掌握的异步库。有关于aiohttp的详细操作,可以去官方文档:

Python学习网- 专业的python自学、交流公益平台!

解析库

1、beautifulsoup

html 和 XML 的解析,从网页中提取信息,同时拥有强大的API和多样解析方式。一个我经常使用的解析库,对于html的解析是非常的好用。对于写爬虫的人来说这也是必须掌握的库。

2、lxml

支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。

3、pyquery

jQuery 的 Python 实现,能够以 jQuery 的语法来操作解析 HTML 文档,易用性和解析速度都很好。

数据存储

1、pymysql

官方文档:

一个纯 Python 实现的 MySQL 客户端操作库。非常的实用、非常的简单。

2、pymongo

官方文档:

顾名思义,一个用于直接连接 mongodb 数据库进行查询操作的库。

3、redisdump

redis-dump是将redis和json互转的工具;redis-dump是基于ruby开发,需要ruby环境,而且新版本的redis-dump要求2.2.2以上的ruby版本,centos中yum只能安装2.0版本的ruby。需要先安装ruby的管理工具rvm安装高版本的ruby。

怎样用python爬取疫情数据

import requests

from bs4 import BeautifulSoup

import re

import json

# 1.发送请求,获取疫情首页(数据来源于丁香园)

response = requests.get('')

home_page = response.content.decode()

# 2.从疫情首页提取最近一日数据

soup = BeautifulSoup(home_page, 'lxml')

script = soup.find(id='getAreaStat')

text = script.string

# 3.提取数据获取json格式数据

json_str = re.findall(r'\[.+\]', text)[0]

# 4.把json格式转换为python类型

last_day_corona_virus = json.loads(json_str)

# 5.以json格式保存最近一日数据

with open('data/last_day_coronavirus.json', 'w') as fp:

json.dump(last_day_corona_virus, fp, ensure_ascii=False)

(责任编辑:IT教学网)

更多

推荐安全产品文章