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”}’
print(“json.loads将字符串转为Python对象: type(json.loads(s)) = {}”.format(type(json.loads(s))))
print(“json.loads将字符串转为Python对象: json.loads(s) = {}”.format(json.loads(s)))
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 = ‘’’
for item in items:
print(type(item))
items = doc(‘li’).items()
print(type(items))
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,这个是二进制信息
with open(‘my.jpg’, ‘wb’) as f:
f.write(dat)
循环存储5张图片
import requests # 模拟浏览器,请求资源
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’
]
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’}
print(json.dumps(d2))
json_str = ‘{“a”: [1, 3, 2], “b”: “it is book”}’
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 = ‘’'
//定位所有标签和带有id标签的使用方法
soup = BeautifulSoup(my_page, ‘lxml’)
res = soup.select(‘a’)
print(res)
id_div = soup.select(‘div[id]’)
print(id_div)
id_div = soup.find_all(‘div’, attrs={‘id’: ‘photos’})
print(id_div)
photoid = soup.select(“div[id=‘photos’]”)
print(photoid)
for item in soup.select(‘[href]’):
print(item[‘href’])