【爬虫基础】第4讲 GET与POST请求

GET请求

GET请求是一种HTTP方法,用于向服务器获取(或读取)数据。它是Web开发中最常用的请求方式之一。对于GET请求,客户端向服务器发送一个HTTP请求,服务器返回请求的资源。GET请求通常用于获取静态资源,比如HTML页面、图片、CSS文件等。GET请求可以通过URL参数传递数据,参数会附加在URL的末尾,例如:https://www.example.com/search?q=keyword

GET请求的特点是安全性较低,因为请求的参数是直接暴露在URL中,容易被拦截和篡改。因此,GET请求不适合传输敏感数据,如密码等。

方式一:使用quoto方法

from urllib.request import urlopen,Request
from fake_useragent import UserAgent
from urllib.parse import quote

args = input('请输入要搜索的内容:')
ua = UserAgent()
url = f'https://www.baidu.com/s?wd={quote(args)}'
headers = {
    'User-Agent':ua.chrome
}
req = Request(url,headers=headers)
resp = urlopen(req)
print(resp.read().decode())

方式二:使用urlencode方法

from urllib.request import urlopen,Request
from fake_useragent import UserAgent
from urllib.parse import urlencode

args = input('请输入要搜索的内容:')
parms = {
    'wd':args,

}
ua = UserAgent()
url = f'http://www.baidu.com/s?{urlencode(parms)}'

headers = {
    'User-Agent':ua.chrome
}

req = Request(url,headers=headers)
resp = urlopen(req)
print(resp.read().decode())

案例:

使用get请求抓取某同城的二手车数据

from urllib.request import urlopen,Request
from fake_useragent import UserAgent
from urllib.parse import quote
args = input('请输入品牌,使用中文全拼格式:')

url =f'https://wz.58.com/{quote(args)}/'
headers = {
    'User-Agent':UserAgent().chrome
}
req = Request(url,headers=headers)
resp = urlopen(req)

print(resp.read().decode())

执行结果:

POST请求

POST请求是一种HTTP请求方法,用于向服务器提交数据。与GET请求不同,POST请求的数据不会附加在URL中,而是作为请求的body部分进行发送。POST请求常用于向服务器提交表单数据、上传文件等操作。

from urllib.request import Request,urlopen
from fake_useragent import UserAgent
from urllib.parse import urlencode

url ='https://cn.bing.com/search'
headers ={
    'User-Agent':UserAgent().chrome
}
keyword = input('请输入查询的内容:')
args ={
    'q':f'{keyword}'
}

f_data=urlencode(args)
req = Request(url,headers=headers,data=f_data.encode())
resp = urlopen(req)
print(resp.read().decode())

POST请求的body部分是一个JSON字符串{"username": "john", "password": "password123"},用于向服务器传递用户名和密码。需要注意的是,POST请求的body部分的格式可以根据实际需要而定,可以是JSON、XML、表单数据等格式。通过POST请求,客户端可以向服务器发送数据并获取服务器的响应。服务器可以根据POST请求中包含的数据进行相应的处理,并返回相应的数据给客户端。

相关推荐

  1. 爬虫4课:get请求

    2024-03-29 00:34:02       17 阅读
  2. 爬虫5课:POST请求

    2024-03-29 00:34:02       20 阅读
  3. GETPOST请求

    2024-03-29 00:34:02       42 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-29 00:34:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-29 00:34:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-29 00:34:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-29 00:34:02       18 阅读

热门阅读

  1. Linux双向链表相关API的使用及事例Demo

    2024-03-29 00:34:02       16 阅读
  2. 添加了ssh keys还是无法git push

    2024-03-29 00:34:02       21 阅读
  3. 数据库底层原理

    2024-03-29 00:34:02       16 阅读
  4. mysql null值相减还是null

    2024-03-29 00:34:02       17 阅读
  5. 电机转速&转矩计算公式

    2024-03-29 00:34:02       29 阅读
  6. Go语言教程和案例

    2024-03-29 00:34:02       16 阅读
  7. 2020校招面试

    2024-03-29 00:34:02       19 阅读
  8. 程序员35岁会失业吗?

    2024-03-29 00:34:02       18 阅读
  9. 【MySQL】MySQL小结

    2024-03-29 00:34:02       21 阅读
  10. 详解 WebWorker 的概念、使用场景、示例

    2024-03-29 00:34:02       19 阅读