request-html 和 css选择器
css选择器
1、类选择器
.类名
2、id选择器
#id值
3、标签选择器
标签名
4、后代选择器
选择器1 选择器2
5、子选择器
选择器1>选择器2
6、属性选择器
【属性名】 【name】
【属性名=值】 【name=‘title’】
【属性名^=值】 属性以。。开头
【属性名$=值】 结尾
【属性名*=值】 包含
7、群组选择器
选择器1,选择器2 or
8、多条件选择器
选择器1选择器2 and
p【属性=值】
request-html的牛逼之处:它集成了request库,beautifulsoup库,pyquery库,浏览器内核
安装
pip install requests-html
请求
from requests_html import HTMLSession
session = HTMLSession()
**参数:**
browser.args = [
'--no-sand',
'--user-agent=XXXXX'
]
响应对象 = session.request(......)
响应对象 = session.get(......)
响应对象 = session.post(......)
参数和requests模块一样
响应
r.url
**属性和requests模块一样
解析
html对象属性
r.html.absolute_links 绝对路径 基础路径 + /d/ffdsadfsadas.jpg
- .links 相对路径
- .base_url 基础路径
- .html 拿到页面内容 (相当于r.text) 渲染之后的内容 而text是页面的文本
- .text 拿到页面上纯文本
- .encoding = 'gbk'
- .raw_html 相当于r.context
- .qp
r.html.find('css选择器') 【element对象,element对象,】
- .find('css选择器',first = True) element对象
- .xpath(‘xpath选择器’)
- .xpath('‘xpath选择器',first = True)
- .search(‘模板’) search对象
- (‘xxx{}yyy{}’)[0]
- (‘xxx{name}yyy{pwd}’)[‘name’]
- .search_all('模板') 【search对象。search对象】
- .render(.....)
**参数:**
- scripy:“”“ ( ) => {
js代码
js代码
}”“”
- scrolldow:n
- sleep:n
- keep_page:True/False
与浏览器交互 : r.html.page.XXX
asynic def xxx():
- await r.html.page.XXX
- session.loop.run....(xxx())
- .screenshot({'path':路径})
- .evaluate('''() =>{js代码}’‘’})
- .cookies()
- .type('css选择器',’内容‘,{’delay‘:100})
- .click('css选择器')
- .focus('css选择器')
- .hover('css选择器')
- .waitForSelector('css选择器')
- .waitFor(1000)
键盘事件 r.html.page.keyboard.XXX
- .down('Shift')
- .up('Shift')
- .press('ArrowLeft')
- .type('喜欢你啊',{‘delay’:100})
鼠标事件 r.html.page.mouse.XXX
.click(x,y,{
'button':'left',
'click':1
'delay':0
})
.down({'button':'left'})
.up({'button':'left'})
.move(x,y,{'steps':1})
####1. 启动服务与终止服务
net start mongodb
net stop mongodb
2.创建管理员用户
mongo
use admin
db.createUser({user:"yxp",pwd:"997997",roles:["root"]})
3.使用账户密码连接mongodb
mongo -u adminUserName -p userPassword --authenticationDatabase admin
4.数据库
查看数据库
show dbs 查看数据库
切换数据库
use db_name 切换数据库
增加数据库
db.table1.insert({'a':1}) 创建数据库(切换到数据库插入表及数据)
删除数据库
db.dropDatabase() 删数据库(删前要切换)
5.表
使用前先切换数据库
查看表
show tables 查所有的表
增加表
db.table1.insert({'b':2}) 增加表(表不存在就创建)
删除表
db.table1.drop() 删表
数据
db.test.insert(user0) 插入一条
db.user.insertMany([user1,user2,user3,user4,user5]) 插入多条
db.user.find({'name':'alex'}) 查xx==xx
db.user.find({'name':{"$ne":'alex'}}) 查xx!=xx
db.user.find({'_id':{'$gt':2}}) 查xx>xx
db.user.find({"_id":{"$gte":2,}}) 查xx>=xx
db.user.find({'_id':{'$lt':3}}) 查xx<xx
db.user.find({"_id":{"$lte":2}}) 查xx<=xx
db.user.update({'_id':2},{"$set":{"name":"WXX",}}) 改数据
db.user.deleteOne({ 'age': 8 }) 删第一个匹配
db.user.deleteMany( {'addr.country': 'China'} ) 删全部匹配
db.user.deleteMany({}) 删所有pymongo
conn = pymongo.MongoClient(host=host,port=port, username=username, password=password)
db = client["db_name"] 切换数据库
table = db['表名']
table.insert({}) 插入数据
table.remove({}) 删除数据
table.update({'_id':2},{"$set":{"name":"WXX",}}) 改数据
table.find({}) 查数据