一,知识点
1.写完第一个脚本之后,执行的方法?
find / -name mongo
cd /usr/local/mongodb/bin
ls
./mongo
2.执行不了mongo,怎么解决?
都在bin下执行
ps aux | grep mongo
pgrep mongo|xargs kill -9
ps aux | grep mongo
ls
./mongod &
./mongo
二,安装mongo
(1)先在浏览器上找到mongo的安装包,用wget下载https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.5.tgz
(2)在用tar解压这个下载完成的安装包
(3)然后把这个包剪切到/usr/local/mongodb下 mv mongodb-linux-x86_64-rhel70-3.2.5 /usr/local/mongodb
(4)然后cd /usr/local/mongodb/bin下
(5)然后在后台运行Mongod
./mongod &
(6)用pip安装Python mongo
补:安装python
(1)先在浏览器上找python的安装包,找到之后然后用wget下载这个安装包
(2)下载完成之后用echo $?查一下是否为0,如果不为0就代表错误
(3)用tar解压这个安装包
3.第三方模块的安装 :
pip ×××tall requests
4.查数据:
cd /usr/local/mongodb/bin
ls
show dbs
use iaaf
show tables
db.athletes.find()
5.查看数据库内容:
./mongo show dbs
数据库 : iaaf
use iaaf
show tables ---- athletes
db.athletes.find()
++++++++++++++++++++++++++++++++++++++++++++++++
pymongo db = pymongo.MongoClient().iaaf
for i in db.athletes.find():
print i
6.删除数据库
use iaaf
db.athletes.drop()
7.什么是爬虫?
爬虫的意思就是用代码去访问这个网站
python爬虫即网络爬虫,网络爬虫是一种程序,主要用于搜索引擎,它将一个网站的所有内容与链接进行阅读,并建立相关的全文索引到数据库中,然后跳到另一个网站.样子好像一只大蜘蛛.
8.脚本
1导包——访问网站——(找到headers【User-Agent】)——将访问到的信息在BeautifulSoup库里进行解析——按标签查找(最后找到recordtable[2]第三项,遍历tr td_ )——定位到我们想要的信息——将所有信息放在js数据(字典)里——将数据存放在数据库里。
2. 导包——访问网址——(找到headers【User-Agent】)——调取脚本1里存的数据——得到每个运动员的href——将基础网址和得到的运动员herf拼在一起——得到目标网址——将outdoor和indoor的信息分成两个列表分别存放——将所有信息都存放在数据库里。
3导包——访问网址——(找到headers【User-Agent】)——将访问到的信息在BeautifulSoup库里进行解析——找到(div)标签——找到目标标签的相关标签(h2_l),按标题定位——通过上级目录找到指定的(table)标签——将所得到的信息放在(tbody列表中)——在(tbody列表)中按outdoor和indoor分类,整合信息——将所有信息放在js数据(字典)里——设置返回值存放。
4. 导包——将所有标题信息放在(title列表)里——遍历(title)里信息的数量——将title里标注的信息输入进去——将运动员分别来自的国家名称放在(country_l列表里)——在运动员信息库里调取相应的(运动员名称:国家)键值对——将所取到的信息按照outdoor和indoor将信息分类——按照(title)标题里的信息从第一行开始依次输入数据——将所有表格信息从数据库里提取并且整理好存放在“iaaf.xls”中。
9.模块
MongoDB
1.MongoDB的概念
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。
MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
2.MongoDB的主要特点
MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。
Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌
的对象及数组。
MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。
MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,
也可以把函数的定义存储在服务端,下次直接调用即可。
MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
Requests
1.Requests的概念
Requests 是Python语言编写,基于urllib,采用Apache2 Licensed开源协议的 HTTP 库。
它比urllib 更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。
2 .Requests的请求方式
①GET: 请求指定的页面信息,并返回实体主体。
②HEAD: 只请求页面的首部。
③POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。
④PUT: 从客户端向服务器传送的数据取代指定的文档的内容。
⑤DELETE: 请求服务器删除指定的页面。
get 和 post比较常见 GET请求将提交的数据放置在HTTP请求协议头中
POST提交的数据则放在实体数据中
BS4
1.BS4的概念
bs4库是解析、遍历、维护、"标签树"的功能库
通俗一点说就是:bs4库把HTML源代码重新进行了格式化,
从而方便我们对其中的节点、标签、属性等进行操作
2.BS4的4中对象
①Tag对象:是html中的一个标签,用BeautifulSoup就能解析出来Tag的具体内容,具体
的格式为‘soup.name‘,其中name是html下的标签。
②BeautifulSoup对象:整个html文本对象,可当作Tag对象
③NavigableString对象:标签内的文本对象
④Comment对象:是一个特殊的NavigableString对象,如果html标签内存在注释,那么它可以过滤掉注释符号保留注释文本
最常用的还是BeautifulSoup对象和Tag对象
Json
1.Json的概念
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。Python3 中可以
使用 json 模块来对 JSON 数据进行编解码,它主要提供了四个方法:
dumps、dump、loads、load。
2.格式转化表
JSON中的数据格式和Python中的数据格式转化关系如下:
JSON Python
object dict
array list
string str
number (int) int
number (real) float
true True
false False
null None
xlwt
1.xlwt的概念
Python语言中,写入Excel文件的扩展工具。相应的有xlrd扩展包,专门用于excel读取。
可以实现指定表单、指定单元格的写入。
2.主要功能
Python语言中,写入Excel的扩展工具。
可以实现创建表单、写入指定单元格、指定单元格样式等人工实现的功能,
一句话就是人使用excel实现的功能,这个扩展包都可以实现。
10.爬虫的流程
先找到要访问的网站——找到headers的User-Agent——在BeautifulSoup中解析——找到相应标签——提取想要的内容的src——存到数据库中——爬虫完成