当前位置: 首页 > news >正文

python学习4

1)如果安装有问题
pip3 install [你要安装的包] -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com 需要换源
pip install 包名-i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
2)redis参考命令网址
http://doc.redisfans.com/
3)查看包安装信息命令
pip freeeze
4)redis提供了strictredis,用于连接指定的redis数据库
redis = StrictRedis(host=‘127.0.0.1’, port=6379, db=0) # 连接redis数据库
5)掌握redis数据库存储session
文件 开始 插入 绘图 数据 视图 流程 审阅
visio的应用范围:流程图 组织架构图 平面布局 思维导图 网络拓扑图 工程管理 图表软件 图形组织软件
6)requests模块使用文档地址
https://requests.readthedocs.io/projects/cn/zh-cn/latest/
作用:发送http请求,获取相应数据
带上请求头,伪装成浏览器
字典推导式
7)免费代理网址
https://www.kuaidaili.com/free/
8)金山翻译测试post请求
https://www.iciba.com/

有一个明确的思路,这个爬虫需要哪几个步骤,规划好了;
Ctrl + Alt + L //pycharm格式优化代码

python中, format的使用方法
name = ‘jiangxiaoer’
print(‘abc:name is: {0}’.format(name)) #abc:name is: jiangxiaoer

json.loads和json.load的使用
前者是加载字符串,后者是加载文件
import json
s = ‘{“name”: “wade”, “age”: 54, “gender”: “man”}’

json.loads读取字符串并转为Python对象

print(“json.loads将字符串转为Python对象: type(json.loads(s)) = {}”.format(type(json.loads(s))))
print(“json.loads将字符串转为Python对象: json.loads(s) = {}”.format(json.loads(s)))

json.load读取文件并将文件内容转为Python对象

数据文件要s.json的内容 --> {“name”: “wade”, “age”: 54, “gender”: “man”}

with open(‘s.json’, ‘r’) as f: #这样写,会自动的调用file.close()函数;
s1 = json.load(f)
print(“json.load将文件内容转为Python对象: type(json.load(f)) = {}”.format(type(s1)))
print(“json.load将文件内容转为Python对象: json.load(f) = {}”.format(s1))

https://www.bilibili.com/video/BV1LK4y1L7wr?p=1&vd_source=3924f2fab7d4378a9659051e504d476c

//python.span函数,返回匹配值下标

pyquery的简单测试
from pyquery import PyQuery as pQ

html = ‘’’

  • a
  • b
  • c
''' # 直接获取节点,得到的是pyquery类型 doc = pQ(html) items = doc('li') print(type(items))

直接遍历,元素为lxml类型,不可用

for item in items:
print(type(item))

使用items()方法,得到的是一个生成器

items = doc(‘li’).items()
print(type(items))

遍历这个生成器,可以发现每个元素都是一个pyquery类型

for i in items:
print(type(i))

另外需注意若对父节点进行遍历,得到的结果将包含父节点自身

items = doc(‘ul’).items()
for item in items:
print(item)

import os

打印模块的绝对路径

print(os.path)
import os
import sys
print(file)
print(sys.version)
print(sys.platform)
print(sys.getrecursionlimit())
print(sys.getfilesystemencoding())

python默认将三方模块安装到site-packages
https://pypi.org/ 第三方模块地址

print(file) //打印当前脚本所在的路径

time&datatime学习
时间的显示,时间的转换,时间的计算
时间戳:就是从1970年1月1日0时到现在的偏移量
import time
print(time.time())
print(time.localtime())

转换为时间元组

t1 = time.gmtime()

转换为时间戳

print(time.mktime(t1))

把元组格式转换为可以显示的

print(time.strftime(‘%Y-%m-%d:%H:%M:%S’, time.localtime()))

字符串转换为元组

print(time.strptime(‘2020/04/01’, ‘%Y/%m/%d’))

import datetime
print(datetime.date.today())

添加时区

pytz.timezone()

查看图片的地址
右键图片-》选择属性,就可以看到地址了

图片地址

获取图片原始数据(有的网站有反爬机制,不好弄)

保存(可以是中文名字)

import requests # 模拟浏览器,请求资源
url1 = ‘https://img.1000tuku.com:8899/uploads/allimg/160722/1_0H2141ZH340.jpg’
dat = requests.get(url1).content #content,这个是二进制信息

encoding=‘utf-8’ 写中文才需要的

with open(‘my.jpg’, ‘wb’) as f:
f.write(dat)

循环存储5张图片
import requests # 模拟浏览器,请求资源

url1 = ‘https://img.1000tuku.com:8899/uploads/allimg/160722/1_0H2141ZH340.jpg’

urlList = [
‘https://img.1000tuku.com:8899/uploads/allimg/160722/1_0H2141ZH340.jpg’,
‘https://img.1000tuku.com:8899/uploads/allimg/201228/1_122Q159462001.jpg’,
‘https://img.1000tuku.com:8899/uploads/allimg/200916/1_091613394E2X.jpg’,
‘https://img.1000tuku.com:8899/uploads/allimg/210109/1_010919220U162.jpg’,
‘https://img.1000tuku.com:8899/uploads/allimg/200703/1_0F3142K52525.jpg’
]

dat = requests.get(url1).content

for i in range(5):
dat = requests.get(urlList[i]).content
with open(‘my{0}.jpg’.format(i), ‘wb’) as f:
f.write(dat)

selenium 美[səˈliːniəm] 硒

//2024-01-29
json串,是一个文本
import json
//dumps和loads函数的使用
d2 = {‘a’: [1, 3, 2], ‘b’: ‘it is book’}

dumps: 把字典转换为json字符串

print(json.dumps(d2))
json_str = ‘{“a”: [1, 3, 2], “b”: “it is book”}’

loads: 把json字符串转换为字典

print(json.loads(json_str))

共计4步骤:发送请求,接收数据,解析数据,存储数据
request,以字典形式传入参数
//返回结果说明:
r.text 返回编码解析的结果
r.content 返回二进制结果
r.json() 返回字典,可能抛出异常
r.raw 返回原始socket response, 需要加参数 stream=True
r = requests.get(‘http://httpbin.org/get’)
print(r.status_code)
params = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
r2 = requests.get(‘http://httpbin.org/get’, params=params)
print(r2.json())
//post请求
payload = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
r = requests.post(‘http://httpbin.org/post’, data=payload)
print(r.text)

//beautifulsoup的查看标签
from bs4 import BeautifulSoup
my_page = ‘’'

Document python ''' soup = BeautifulSoup(my_page, 'lxml') # 查看标签a,(两种方法) res = soup.find_all('a') print(res) res = soup.select('a') print(res)

//定位所有标签和带有id标签的使用方法
soup = BeautifulSoup(my_page, ‘lxml’)
res = soup.select(‘a’)
print(res)

定位所有带id的div标签

id_div = soup.select(‘div[id]’)
print(id_div)

定位id=photos的div标签 方法1

id_div = soup.find_all(‘div’, attrs={‘id’: ‘photos’})
print(id_div)

定位id=photos的div标签 方法2

photoid = soup.select(“div[id=‘photos’]”)
print(photoid)

查找所有href属性取值

for item in soup.select(‘[href]’):
print(item[‘href’])

相关文章:

  • 低代码
  • JavaScript-for循环的执行顺序
  • 数论与图论
  • C++ 特殊成员函数:默认构造函数、默认析构函数、复制构造函数、赋值运算符
  • 华为C++笔试--拓扑排序
  • html css实现钟表简单移动
  • 山海鲸可视化:工厂运营的智慧之眼
  • Bug: git stash恢复误drop的提交
  • 25考研北大软微该怎么做?
  • mysql 正则表达式用法(一)
  • 【基础算法练习】Trie 树
  • 【算法专题】贪心算法
  • git的分支操作
  • 特斯拉FSD的神经网络(Tesla 2022 AI Day)
  • 自然语言处理 TF-IDF
  • Android开源项目规范总结
  • isset在php5.6-和php7.0+的一些差异
  • Java 最常见的 200+ 面试题:面试必备
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • rabbitmq延迟消息示例
  • SAP云平台里Global Account和Sub Account的关系
  • vue-router 实现分析
  • 欢迎参加第二届中国游戏开发者大会
  • 人脸识别最新开发经验demo
  • 山寨一个 Promise
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 微信公众号开发小记——5.python微信红包
  • 赢得Docker挑战最佳实践
  • 用element的upload组件实现多图片上传和压缩
  • 原生 js 实现移动端 Touch 滑动反弹
  • 在Unity中实现一个简单的消息管理器
  • 翻译 | The Principles of OOD 面向对象设计原则
  • # 飞书APP集成平台-数字化落地
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #if和#ifdef区别
  • (12)Hive调优——count distinct去重优化
  • (4)STL算法之比较
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Forward) Music Player: From UI Proposal to Code
  • (Git) gitignore基础使用
  • (二)linux使用docker容器运行mysql
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (论文阅读11/100)Fast R-CNN
  • (十) 初识 Docker file
  • (算法)求1到1亿间的质数或素数
  • (算法二)滑动窗口
  • (一)appium-desktop定位元素原理
  • (一)Neo4j下载安装以及初次使用
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • ./configure,make,make install的作用(转)
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .a文件和.so文件
  • .NET Core中的去虚
  • .NET delegate 委托 、 Event 事件