【Python】爬虫03_动态异步网页请求

本人依据上课内容,将简单的动态异步网页请求的学习浓缩为一篇代码介绍。主要有静态网页请求get方法的复习,异步网页请求,伪造请求头,模拟浏览器的介绍,并在最后给出了三个使用实例。本文与2021/12/11首发于csdn,如有错误和不足请指出。import requestsimport chardetimport jsonimport re'''复习一下普通的get方式获取网页'''url = "http://www.tipdm.com/"ua = {"User-Agent": "Mozil
摘要由CSDN通过智能技术生成

本人依据上课内容,将简单的动态异步网页请求的学习浓缩为一篇代码介绍。
主要有静态网页请求get方法的复习,异步网页请求,伪造请求头,模拟浏览器的介绍,并在最后给出了三个使用实例。

本文与2021/12/11首发于csdn,如有错误和不足请指出。

import requests
import chardet
import json
import re

'''复习一下普通的get方式获取网页'''
url = "http://www.tipdm.com/"
ua = {
   "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) \
                         AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.41"}

rqg = requests.get(url, headers=ua)
rqg.encoding = chardet.detect(rqg.content)["encoding"]
html = rqg.content.decode("utf-8")

'''了解json'''
# JSON的全称是JavaScript Object Notation,是一种轻量级的数据交换格式。
# 网络之间使用HTTP方式传递数据的时候,绝大多数情况下传递的都是字符串。
# 因此,当需要把Python里面的数据发送给网页或者其他编程语言的时候,可以先将Python的数据转化为JSON格式的字符串,
# 然后将字符串传递给其他语言,其他语言再将JSON格式的字符串转换为它自己的数据格式。
person = {
   'basic_info': {
   'name': '小明',
                         'age': 24,
                         'sex': 'male',
                         'merry': False},
          'work_info': {
   'salary': 99999,
                        'position': 'engineer',
                        'department': None}
          }
person_json = json.dumps(person)  # python格式转换为json格式(dumps)转存
person_dict = json.loads(person_json)  # json格式转换为python格式(loads)下载
print(person_json)
print(person_dict)

'''异步get与post网页请求'''
# 几种请求方式:
# 1、POST /url 创建 产生新的内容
# 2、DELETE /url/xxx 删除 xxx代表指定内容
# 3、PUT /url/xxx 更新
# 4、GET /url/xxx 查看 不做改变

# 获取异步加载网页的数据:
# (1)简单异步加载ajax技术测试网站http://exercise.kingname.info/exercise_ajax_1.html
# 异步请求用ctrl+R在F12/network/XHR刷新出来
# “ajax_1_backend”get请求页和“ajax_1_postbackend”post请求页
url_get = 'http://exercise.kingname.info/ajax_1_backend'  # get请求页url
html_get = requests.get(url).content.decode()  # 从网页获取的内容需要.content.decode()
# print(html_get)

url_post = 'http://exercise.kingname.info/ajax_1_postbackend'  # post请求页url
# 提交的字典内容,json={}可以将字典转换为json
# 这里的.content.decode()作用是什么?将url返回的内容解码,也可以在html_kingname中再解码
html_kingname = requests.post(url_post, json={
   'name': '青南', 'age': 24}).content.
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值