Python入门教程笔记

1.爬虫技术怎么学

在这里插入图片描述

2.http和https基础知识

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.requests模块入门

中文文档: https://docs.python-requests.org/zh_CN/latest/
在这里插入图片描述

http方法

requests模块支持的http方法

  • get
  • post
  • pull
  • delete
  • head
  • trace
  • options
  • connect

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

get请求方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import requests
response = requests.get(url='http://httpbin.org/ip')
print(response.text)
# 输出结果:
# {
#   "origin": "211.142.27.39"
# }
print(response.content)
# 输出结果:b'{\n  "origin": "211.142.27.39"\n}\n'

post方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import requests
response = requests.get(url='http://httpbin.org/post',data={'name':'baidu'})
print(response.text)
# 输出结果:(不知道什么原因)
# <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
# <title>405 Method Not Allowed</title>
# <h1>Method Not Allowed</h1>
# <p>The method is not allowed for the requested URL.</p>

url构造方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

url代码练习

import requests
# 主要用在get请求里
data = {'key1':'value1','key2':'value2'}
response = requests.get(url='http://httpbin.org/get',params=data)
# 查看当前请求的url是谁
print(response.url)
# 输出结果:http://httpbin.org/get?key1=value1&key2=value2
print(response.headers)
# 输出结果:{'Date': 'Thu, 03 Jun 2021 03:40:25 GMT', 'Content-Type': 'application/json', 'Content-Length': '377', 'Connection': 'keep-alive', 'Server': 'gunicorn/19.9.0', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Credentials': 'true'}

响应图片

在这里插入图片描述
在这里插入图片描述

代码练习

import requests
url = 'https://www.imooc.com/static/img/index/logo2020.png'
response = requests.get(url)
# 查看图片的二进制数据
print(response.content)
with open('imooc.png','wb') as f:
    # 写入图片数据
    f.write(response.content)

常用请求

• response.url
• response.status_code
• response.text
• response.content
• response.content.decode()
• response.content.decode("gbk")
• response.headers
• response.json()
• response.request.headers
• response.cookies

请求代码练习

import requests
response = requests.get(url='http://httpbin.org/ip')
print(response.content)
# 输出结果:b'{\n  "origin": "211.142.27.39"\n}\n'
print(response.text)
# 输出结果:
# {
#   "origin": "211.142.27.39"
# }
print(type(response.text))
# <class 'str'>
print(response.json())
# 输出结果:{'origin': '211.142.27.39'}
print(response.json()['origin'])
# 输出结果:211.142.27.39
# 查看请求头
print(response.request.headers)
# 输出结果:
# {'User-Agent': 'python-requests/2.25.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}
print(type(response.request.headers))
# 输出结果:<class 'requests.structures.CaseInsensitiveDict'>
print(response.cookies)
# 输出结果:<RequestsCookieJar[]>
import requests
url = 'http://www.baidu.com'
response = requests.get(url)
print(response.status_code)
print(response.text)    # 输出内容有乱码
print(response.content.decode())
print(type(response.content.decode()))  # 输出为"str"
html_str = response.content.decode()
print(type(html_str))
with open('baidu.html','w',encoding='utf-8') as f:
     f.write(response.content.decode())
print(response.url)
print(response.headers)
print(response.content)
print(type(response.content))   # 二进制数据
print(response.json())
print(response.request.headers)

4.requests模块进阶

查看cookies

在这里插入图片描述

import requests
# 查看cookies
url = 'http://www.baidu.com'
response = requests.get(url)
print(response.headers)
# 输出结果:
# {'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 'Connection': 'keep-alive', 'Content-Encoding': 'gzip', 'Content-Type': 'text/html', 'Date': 'Thu, 03 Jun 2021 03:59:48 GMT', 'Last-Modified': 'Mon, 23 Jan 2017 13:27:36 GMT', 'Pragma': 'no-cache', 'Server': 'bfe/1.0.8.18', 'Set-Cookie': 'BDORZ=27315; max-age=86400; domain=.baidu.com; path=/', 'Transfer-Encoding': 'chunked'}
print(response.cookies)
# 输出结果:<RequestsCookieJar[<Cookie BDORZ=27315 for .baidu.com/>]>
print(response.cookies['BDORZ'])
# 输出结果:27315

cookie代码练习2

在这里插入图片描述
在这里插入图片描述

import requests
url = 'http://httpbin.org/cookies'
response = requests.get(url)
print(response.text)
# 输出结果:
# {
#   "cookies": {}
# }
# 通过dict进行实例化cookies
cookies = dict(cookies_are='hello imooc')
# 请求的时候要带上cookies
response = requests.get(url,cookies=cookies)
print(response.text)
# 输出结果:
# {
#   "cookies": {
#     "cookies_are": "hello imooc"
#   }
# }

证书校验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import requests
# 关闭SSL校验
response = requests.get(url='http://www.baidu.com',verify=False)
print(response.text)

异常

在这里插入图片描述
在这里插入图片描述

超时参数

import requests
# 超时参数timeout
start_time = time.time()
# 一般设置为2-3秒
response = requests.get(url='https://www.imooc.com/',timeout=2)
print(response.text)
end_time = time.time()
print(end_time-start_time)

清除缓存

学习网址
http://account.chinaunix.net/login
第一步,更多工具–>清除浏览数据
在这里插入图片描述
在这里插入图片描述

在线工具

时间戳转换:https://tool.lu/timestamp/
时间戳:1603521445734 后3位删掉进行转换
在这里插入图片描述
set-cookies
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码练习

代理信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.xpath基础语法

什么是xpath

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
xpath helper安装方法
• 更多工具–>扩展程序–>chrom应用商店
在这里插入图片描述
在这里插入图片描述

6.lxml模块

什么是lxml库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码练习1

from lxml import etree
# 不包含html标签和body标签
data = """
<div>
    <ul>
        <li class="item-0"><a href="link1.html">first item</a></li>
        <li class="item-1"><a href="link2.html">second item</a></li>
        <li class="item-3"><a href="link3.html">third item item</a></li>
        <li class="item-4"><a href="link4.html">fouth item</a></li>
    
    </ul>
</div>
"""
# 添加了html和body标签
html = etree.HTML(data)
print(html)
# 输出结果:<Element html at 0x1db5588>
print(etree.tostring(html).decode())

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码练习2

from lxml import etree
# 不包含html标签和body标签
data = """
<div>
    <ul>
        <li class="item-0"><a href="link1.html">first item</a></li>
        <li class="item-1"><a href="link2.html">second item</a></li>
        <li class="item-3"><a href="link3.html">third item item</a></li>
        <li class="item-4"><a href="link4.html">fouth item</a></li>
    
    </ul>
</div>
"""
# 添加了html和body标签
html = etree.HTML(data)
print(html)
# 输出结果:<Element html at 0x1db5588>
print(etree.tostring(html).decode())
print(html.xpath('//li'))
# 输出结果:[<Element li at 0x291d208>, <Element li at 0x291d1c8>, <Element li at 0x291d2c8>, <Element li at 0x291d308>]
print(html.xpath('//li/@class'))
# 输出结果:['item-0', 'item-1', 'item-3', 'item-4']
print(html.xpath('//li/@class="item-0"'))
print(html.xpath("//li/@class='item-0'"))
# 输出结果:True
print(html.xpath('//li/a[@href="link1.html"]'))
# 输出结果:[<Element a at 0x3009348>]
print(html.xpath('//li[2]/a[1]'))
print(html.xpath('//li[last()-1]/a/@href'))
# 输出结果:['link3.html']

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.安装mongodb数据库

安装数据库
第一步,查看是否安装成功
netstat -an
在这里插入图片描述

第二种方式查看是否成功
在这里插入图片描述
在这里插入图片描述

第三步,修改ip地址
bin文件夹没找到cfg文件,修改接口ip地址0.0.0.0
在这里插入图片描述
在这里插入图片描述

再次进去服务,点击数据库重启动
在这里插入图片描述

第四步,查看地址是否修改成功
在这里插入图片描述

8.使用Navicat连接mongodb数据库

第一步,安装
在这里插入图片描述

第二步,配置连接数据库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击测试
在这里插入图片描述

第三步,新建查询
在这里插入图片描述

第四步,几个命令查询
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值