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’])

  • 26
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值