当前位置: 首页 > news >正文

c 做注册网站dw可以制作网站吗

c 做注册网站,dw可以制作网站吗,百度应用市场app下载,做个网站在线投稿页面Requests 是一个用于发送 HTTP 请求的简单易用的 Python 库。它能够处理多种 HTTP 请求方法,如 GET、POST、PUT、DELETE 等,并简化了 HTTP 请求流程。对于想要进行网络爬虫或 API 调用的开发者来说,Requests 是一个非常有用的工具。在今天的博…

Requests 是一个用于发送 HTTP 请求的简单易用的 Python 库。它能够处理多种 HTTP 请求方法,如 GET、POST、PUT、DELETE 等,并简化了 HTTP 请求流程。对于想要进行网络爬虫或 API 调用的开发者来说,Requests 是一个非常有用的工具。在今天的博客中,我将介绍 Requests 的基本用法,并提供一个合理的爬虫实例。

一.安装 Requests

在使用 Requests 库之前,您需要安装它。可以通过 pip 命令来安装:

pip install requests

在国内安装的速度很慢,所以我们可以修改为国内镜像源安装比如说清华大学镜像源:

pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

你也可以选择其他镜像源,如阿里云、华为云等,替换 -i 参数后的 URL。

二.基本用法

Requests 提供了简单的接口来处理 HTTP 请求和响应。我们将从最基本的 GET 请求和 POST 请求开始。

1.GET 请求

GET 请求用于从服务器获取数据。可以通过 ' requests.get() ' 方法来实现。以下是一个简单的例子,通过get请求豆瓣影评:

import requests# 发送GET请求
response = requests.get('https://movie.douban.com/review/best/')print(response.status_code)  # 输出状态码
print(response.text)         # 输出响应内容

当然由于豆瓣有简单的反爬虫设置,所以我们这样直接发送请求很容易就会被网站限制,不要轻易尝试。

2.POST 请求

POST 请求用于向服务器发送数据,通常用于提交表单或上传文件,可以通过 `requests.post()` 方法来实现。

import requestsdata = {'title': 'foo', 'body': 'bar', 'userId': 1}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())  # 输出响应的 JSON 数据

三.处理响应

Requests 库提供了多种方法来处理 HTTP 响应:

response.text:以字符串形式获取响应内容。

response.json():以 JSON 格式解析响应内容。

response.content:以二进制形式获取响应内容。

response.status_code:获取 HTTP 状态码。

response.headers:获取响应头信息。

四.处理简单的反爬

添加请求头

通过设置请求头将requests库的请求伪装成浏览器请求:

import requestsheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)','Referer': 'https://www.example.com','Content-Type': 'application/json'
}
response = requests.get('https://api.example.com/data', headers=headers)

在许多情况下,自定义请求头是必需的。大多数网站至少都会有简单的爬虫检测,虽然这样只能应付最简单的反爬策略,但是也是最常用的伪装方法了。

五.爬虫实例

下面是一个简单的爬虫实例,使用 Requests 库从豆瓣网爬取影评的标题和简介:

import re
import requests# 定义要爬取的URL
url = 'https://movie.douban.com/review/best/'# 设置请求头部,以模拟浏览器访问
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ""Chrome/127.0.0.0 Safari/537.36"
}# 发送HTTP GET请求以获取网页内容
response = requests.get(url, headers=headers)# 提取响应的HTML内容
con = response.text# 初始化存储数据的容器
title_datas = []
synopsis_datas = []# 使用正则表达式提取评论标题
titles = re.findall('<h2><a href="https://movie.douban.com/review/.*?">(.*?)</a></h2>', con)
for title in titles:title_datas.append(title)  # 将标题添加到标题列表中# 使用正则表达式提取评论内容
datas = re.findall('''<div id=".*?" class=".*?" data-rid=".*?"><div class="short-content">.*?(.*?)\n&nbsp;\(<a href="javascript:;" id=".*?" class="unfold" title="展开">展开</a>\)</div></div>''', con, re.S)# 清理提取的评论内容
for data in datas:# 移除HTML标签clean_data = re.sub(r'<p .*?>.*?</p>', '', data)# 将多个空白字符替换为单个空格,并去除前后的空白clean_data = re.sub(r'\s+', ' ', clean_data).strip()synopsis_datas.append(clean_data)  # 将清理后的评论内容添加到列表中# 将标题和评论内容配对存储到字典中
items = {}
for i in range(len(title_datas)):items[title_datas[i]] = synopsis_datas[i]# 打印结果
print(items)

导入库

import re:用于处理正则表达式。

import requests:用于发送HTTP请求并获取网页内容。

定义URL和请求头

url:目标网页的地址。

headers:模拟浏览器请求的头部信息,防止被网站屏蔽。

发送请求并获取网页内容

requests.get(url, headers=headers):发送GET请求获取网页数据。

response.text:获取响应的HTML文本内容。

初始化数据存储容器

title_datas:存储提取的评论标题。

synopsis_datas:存储提取的评论内容。

提取评论标题

re.findall:使用正则表达式提取标题。

将标题添加到 title_datas 列表中。

提取评论内容

re.findall:使用正则表达式提取评论内容。

re.sub:移除HTML标签并清理多余空白。

配对标题和评论内容

使用 for 循环将标题和内容配对,并存储在 items 字典中。

打印结果

输出字典 items,显示标题和评论内容的配对结果。

当然这里的实例写的并不是很好,只能给大家提供一个参考,大家爬取数据还是要基于网页分析,编写代码。

六.结论

注意事项:

  1. 遵守 robots.txt:在爬取任何网站之前,检查其 robots.txt 文件,确保你的爬虫行为符合网站的爬虫协议。
  2. 频率控制:不要过于频繁地访问目标网站,以免对服务器造成负担。可以通过 time.sleep() 控制请求频率。
  3. 异常处理:在编写爬虫时,考虑到网络请求可能会失败,建议添加异常处理机制来保证程序的健壮性。

Requests 是一个功能强大且易于使用的库,适用于各种 HTTP 请求操作。通过灵活设置请求头和使用不同的请求方法,我们可以轻松实现复杂的网络请求任务。使用 Requests 库进行网络请求和数据抓取是一个强大且简单的方式。掌握其基础用法后,可以更高效地进行 API 调用和网页数据抓取。

http://www.yayakq.cn/news/919830/

相关文章:

  • 多国语言网站模板php网站如何绑定一级域名到子目录
  • 什么网站做推广好企业能建站吗
  • 诗词门户网站建设电影网站视频
  • 有没有专业做特产的网站二手物品交易网站开发环境
  • 网站建设工资一月多少钱win7优化大师
  • 源码网站可视化平台开发
  • 网站点赞怎么做ps软件破解版
  • 自己架服务器做网站网站中的flash
  • 美食网站建设服务策划书海南建设银行招聘网站
  • 免费的汽车网站源码完整网站开发视频教程
  • 一个域名可以绑定几个网站绵阳网站建设 经开区
  • 网站模板 首饰预定深圳网站建设软件定制公司
  • 盘锦网站建设制作wordpress摘要两端对齐
  • 网站开发所以浏览器兼容模式修改wordpress登录密码
  • 上海建筑建材业网站wordpress 文章 版权
  • 携程网站建设的优缺点国家开发公司
  • 西安做网站收费价格wordpress meiwen主题
  • 要加强网站内容的建设网站建设第一步做什么
  • 网站建设怎么申请空间义乌百度网站制作
  • 临沂专业网站制作公司2345浏览器下载安装
  • 用手机制作自己的网站贵阳专业网站建设
  • 阿里云做网站怎么样国内小程序最好的公司
  • 上海网站优化公司排名wordpress仿站pdf
  • 护肤品网站建设前的行业分析深圳建设工程质量检测中心
  • 做网站cnfg小学生简短小新闻
  • 湖南营销型网站建设价格wordpress线上聊天插件
  • 三亚网站建设平台wordpress4.8.1模板
  • 网站如何三合一网站无收录的原因
  • 为什么wordpress主题访问很慢株洲百度seo
  • 大连科技学院官方网站的建设与放holy荷勒公司介绍