首页 > 其他分享 >requests爬虫学习

requests爬虫学习

时间:2024-08-22 09:26:21浏览次数:6  
标签:get res 爬虫 BeautifulSoup 学习 text print requests

# 爬虫的过程,就是模仿浏览器的行为,往目标站点发送请求,接收服务器的响应数据,提取需要的信息,并进行保存的过程。

# 上网的全过程:
#     普通用户:
#         打开浏览器 --> 往目标站点发送请求 --> 接收响应数据 --> 渲染到页面上。
#     爬虫程序:
#         模拟浏览器 --> 往目标站点发送请求 --> 接收响应数据 --> 提取有用的数据 --> 保存到本地/数据库.

# 爬虫的过程:
#     1.发送请求(requests模块)
#     2.获取响应数据(服务器返回)
#     3.解析并提取数据(BeautifulSoup查找或者re正则)
#     4.保存数据

# #在请求网页爬取的时候,输出的text信息中会出现抱歉,无法访问等字眼
# #headers是解决requests请求反爬的方法之一,相当于我们进去这个网页的服务器本身,假装自己本身在爬取数据。
# #在谷歌浏览器搜索:chrome://version/   复制粘贴其中的用户代理部分
headers = {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"}

# Python为爬虫的实现提供了工具:
import requests
#   requests模块:requests是python实现的简单易用的HTTP库。
url ="https://news.baidu.com/"  #引入网址
# url ="http://www.zuel.edu.cn/2020n/list.htm"  #引入网址
# url ="http://httpbin.org/get"  #引入网址
res = requests.get(url , headers=headers)  #可以发送一个http get请求,返回服务器响应内容.
# payload = {'key1': 'value1', 'key2': 'value2'}   #传递 URL 参数
# res = requests.get(url , headers=headers , params=payload)  #可以发送一个http get请求,返回服务器响应内容.
res.encoding = 'utf-8'   #将编码格式转变成中文格式
# print(res)
print(res.url)    #传递 URL 参数
# print(res.json())    #将响应体解析为 JSON 格式的数据
# print(res.text)    #显示所获取的资源的内容
print(res.status_code)    #显示所获取的资源的响应状态码
print(res.headers['content-type'])    #显示所获取的资源的响应头中 content-type 的值

import re
result=re.findall("<title>(.*?)</title>",res.text)
print(result)  #爬取网站标题
# result1=re.findall("title='(.*?)'>",res.text)    #使用re.findall来查找所有的title标签
# print(result1)  #爬取所有的title标签

from bs4 import BeautifulSoup
#   BeautifulSoup库:BeautifulSoup 是一个可以从HTML或XML文件中提取数据的Python库。
# BeautifulSoup(markup, "html.parser")或者BeautifulSoup(markup, "lxml"),推荐使用lxml作为解析器,因为效率更高.
# soup = BeautifulSoup(res.text, 'html.parser')  #将文档传入BeautifulSoup,得到文档的对象
# print(soup)
soup = BeautifulSoup(res.text, 'lxml')  #将文档传入BeautifulSoup,得到文档的对象
# print(soup)

# 这些新闻都是位于一个class为mod-tab-content的<div>内,返回该标签
info = soup.find("div",class_="mod-tab-content").find_all("ul")
#然后查看每一条新闻的具体内容,发现所需内容在标签</a>内
for i in info:
    l = i.find_all("a")
    for j in l:
        site = j.get("href")  #查找网址链接
        title = j.get_text()   #查找新闻标题
        print(title,site)

标签:get,res,爬虫,BeautifulSoup,学习,text,print,requests
From: https://blog.csdn.net/lwcwam/article/details/141311762

相关文章

  • 多模态学习之论文阅读:《Systematic comparison of deep-learning based fusion strate
    《Systematiccomparisonofdeep-learningbasedfusionstrategiesfor multi-modal ultrasoundindiagnosisof liver cancer》 -2024.10 NEUROCOMPUTING 影响因子7.9(一)多模态数据构成研究设计了“病变配对”方法来构建数据集,包括B模式超声、剪切波弹性成像(SWE)和......
  • 【学习笔记】数学基础:Ferrers 图
    在分拆时我们有的时候很难搞,所以需要引入Ferrers图定义将分拆的每个部分用点组成的行表示,每行点的个数是这个部分的大小根据分拆的定义,Ferrers图中不同的行按照递减的顺序排放分拆:将自然数n写成递降正整数和的表示。\[n=r_1+r_2+\ldots+r_k\quadr_1\ger_2\ge\ldo......
  • 深度学习设计模式之策略模式
    文章目录前言一、介绍二、特点三、详细介绍1.核心组成2.代码示例3.优缺点优点缺点4.使用场景总结前言策略模式定义一系列算法,封装每个算法,并使它们可以互换。一、介绍策略模式(StrategyPattern)是一种行为型设计模式,它定义了一系列算法,并将每一个算法封装起来,使......
  • 机械学习—零基础学习日志(如何理解概率论4)
    当已知一个概率,求解另外一个函数的概率。以下是离散型的概率计算方法。这里是连续型的,已知概念密度,计算对应的另外一个函数的概率。这里需要求解对应的原始函数。这里我们做一道练习题。《概率论与数理统计期末不挂科|考研零基础入门4小时完整版(王志超)》学习笔记王志......
  • 机械学习—零基础学习日志(如何理解概率论2)
    全概率公式与贝叶斯公式上面所提到的公式,可以使用上一篇文章的基本公式推导。使用到了概率的基本运算公式。完整的公式展示:习题练习:剩余的练习:第二题解析:第三题:第四题: 注意:《概率论与数理统计期末不挂科|考研零基础入门4小时完整版(王志超)》学习笔记......
  • 学习python基础二之python基本图形绘制
    1.课前实例  1.1蟒蛇绘制importturtleast#turtle库取别名为tt.setup(650,350,200,200)t.penup()t.fd(-250)t.pendown()t.pensize(25)t.pencolor("purple")t.seth(-40)foriinrange(4):t.circle(40,80)t.circle(-40,80)t.circle(40,80/2......
  • 【鸿蒙学习】HarmonyOS应用开发者高级认证 - 自由流转
    学完时间:2024年8月21日学完排名:第2253名一、基本概念1.流转在HarmonyOS中,将跨多设备的分布式操作统称为流转。流转能力打破设备界限,多设备联动,使用户应用程序可分可合、可流转,实现如邮件跨设备编辑、多设备协同健身、多屏游戏等分布式业务。流转为开发者提供更广的使......
  • 【学习笔记】 陈强-机器学习-Python-Ch11 决策树(Decision Tree)
    系列文章目录监督学习:参数方法【学习笔记】陈强-机器学习-Python-Ch4线性回归【学习笔记】陈强-机器学习-Python-Ch5逻辑回归【课后题练习】陈强-机器学习-Python-Ch5逻辑回归(SAheart.csv)【学习笔记】陈强-机器学习-Python-Ch6多项逻辑回归【学习笔记及课后......
  • VBA学习(50):实现一键对所有工作表进行排序
    要按名称对工作表进行排序,我们可以逐张选定某工作表,按住鼠标将该工作表拖放在所需的位置,从而实现工作表排序的效果。但如果工作表较多,手动拖放进行工作表排序,显然不是最有效率的方式。为此,我们可以借助于VBA实现按工作表名称,一键对所有工作表进行升序或降序排列。对工作表进......
  • 机器学习-混淆矩阵
    文章目录一、混淆矩阵1.混淆矩阵简介2.混淆矩阵图列二、混淆矩阵指标1.准确率(Accuracy)2.精确率(Precision)3.召回率(Recall)4.F1分数(F1Score)三、总结一、混淆矩阵1.混淆矩阵简介随着机器学习和人工智能的迅速发展,分类模型成为了解决各种问题的重要工具。然而,仅仅......