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

python爬虫整理 原来我曾经拥有过这么多爬虫啊~

一、requests模块的学习

使用事前:pip install requests
1)发送get,post请求,**相应:
response = requests.get(url) #发送get请求,请求url地址对应的响应

实例:使用手机版的百度翻译:response = requests.post(url, data={请求体的字典}) #发送post请求,请求url地址对应的响应。

2)response的方法
response.text

该方式往往会导致出现乱码,因为此时获取的是网页html的字符串,出现乱码使用response.encoding = “utf-8”

response.content.decode()

把响应的二进制字节流转换成str类型

response.requests.headers #请求头

response.headers #响应头

response.requests.url #发送请求的地址

response.url #响应地址

3)获取网页源码的正确打开方式

1.response.content.decode()

2.response.content.decode(“gbk”)

3.response.text #自动猜测编码

4)发送带headers的请求
为了模拟浏览器,获取和浏览器一模一样的内容。

当不添加headers的时候会发现返回的内容只有一段,但是在添加了headers后就会发现返回的是整个网页的html。

headers = {

"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) " "Version/11.0 Mobile/15A372 Safari/604.1", "Referer": "https://fanyi.baidu.com/"}

requests.get(url, headers=headers)

5)使用超时参数

requests.get(url, headers=headers, timeout=3) #3秒内必须做出响应,否则就会报错。

二、retrying模块的学习

pip install retrying

from retrying import retry

@retry(stop_max_attempt_number=3)def fun1():

print("this is func1") raise ValueError("this is a test error")

1)处理cookie相关的请求

人人网{“email”:“your account”,
“password”:“password”}

直接携带cookie请求url地址

可以把cookie放进headers中

headers = {“User-Agent”:“…”,“cookie”:“cookie 字符串”}

2)cookie字典传给cookies参数

requests.get(url, cookie=cookie_dict) #注意是字典而不是上面的字符串。

先发送post请求,获取cookie(这个cookie在session中),带上cookie请求登录后页面:

1.session = requests.session() #session具有的方法与requests一样;

2.session.post(uel, data, headers) #服务器设置在本地的cookie会保存在session中;

3.session.get(url) #再次请求的时候会携带上之前保存在session中的cookie,能够请求成功。

三、数据提取方法

1)json

数据交换格式,看起来像python类型(列表,字典)的字符串

使用json之前需要导入

哪里会返回json的数据

把浏览器切换成手机版

抓包app

2)json.laods

把json字符串转化成为python类型

json.loads(json字符串)

3)json.dumps

把python类型转换成json字符串

json.dumps({“a”:1,“b”:2}))

ensure_ascii:让中文显示成中文

indent:能够让下一行在上一行的基础上空几格

四、xpath和xml

xpath

一门从html中提取数据的语言

xpath语法

xpath helper插件:帮助我们从elements中定位数据

1.选择节点(标签)

/html/head/meta:当前能勾选中html下的所有meta标签

2.//tag:能够从任意节点开始选择

//li:当前页面上的所欲li标签

/html/head//link:当前页面上head下所有的link标签

3.@符号的用途

选择具体某个元素//ul[@class=‘btns’]/li选择class='btns’下面的ul下面的所

有li标签

a/@href:选择a标签的href的值(当然也可以是其他标签的属性值)

4.获取文本:

/a/text():获取a标签的文本

/a//text():获取a下的所有文本(包括a标签下的子标签中的文本值)

5.当前

./a:当前节点下的a标签

lxml

安装:pip install lxml

使用:

from lxml import etree

element = etree.HTML(“html字符串”)

element.xpath(“”)

五、基础知识点学习

列表推导式

帮助我们快速生成包含一堆数据的列表

[i+10 for i in range(10)] -->[10,11,12,…19]

[“11月{}日”.format(i) for i in range(30)]–>[“10月1日”,“10月2日”,…]

字典推导式

帮助我们生成包含一堆字典的数据

{i+10:i for i in range(10)} # {10:0,11:1…}

{“a{}”.format(i):10 for i in range(10)} # {“a0”:10,“a1”:10…}

六、写爬虫的讨论

1.URL

知道url地址的规律和总页码数:构造url地址列表

不知道url地址但是知道start_ur

2.发送请求获取响应

Requests

3.提取数据

返回json字符串:json模块

返回的html字符串:lxml模块配合xpath提取数据

4.保存

保存到数据库

保存为文件

文章来源:网络 版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理

http://www.jsqmd.com/news/411238/

相关文章:

  • 收藏!小白/程序员入门大模型不焦虑:行动比完美更重要
  • 写论文慢?试试这几款专业 AI 软件,直接解放双手
  • 基于jsp的超市进货管理系统设计与实现(11894)
  • 收藏备用!小白程序员必看,从0到1搭建AI Agent智能体(LLM Agent实战指南)
  • 基于Javaweb的图书管理系统的设计与实现(11892)
  • C#:方法命名规范
  • 2026年如何选择舒适性高且售后有保障的智能马桶品牌? - 睿易优选
  • 基于CST的48V BSG电驱动单杆天线辐射发射仿真
  • 基于JavaWeb的同城闲余物品交易平台的设计与实现(11891)
  • 欧盟AI法案升级:所有产品必须通过偏见压力测试
  • A-Level课程辅导哪家强?这几家机构必须上榜! - 品牌测评鉴赏家
  • [特殊字符] VisionPro 核心工具速记版
  • 科研级ELISA试剂盒品牌优选,精准适配实验室批量采购需求 - 包罗万闻
  • zed编辑器配置AI之配置Anthropic
  • 41.线性代数
  • 类似Jira软件哪个平台好?2026年系统工具推荐与排名,解决扩展性与成本控制核心痛点 - 十大品牌推荐
  • 展厅设计不踩雷!陕西地区“设计+施工”一体化优质企业推荐 - 深度智识库
  • 2026 西北再生资源回收甄选:电线电缆 / 变压器等五大品类优质服务商推荐 - 深度智识库
  • 2026年天津国际高中报名时间公布,天津国际高中怎么报名详细流程指南 - 品牌2025
  • 陕西及全国废旧物资回收全攻略:优质服务商 Top5 排行及变压器、电线电缆回收选择要点 - 深度智识库
  • 多组学之互作组—染色质互作
  • 猎翼无人机方案优势揭秘,2026军用目标识别无人机蜂群系统供应商推荐? - 品牌2025
  • 2026新加坡国际高中择校:新加坡国立大学升学方向院校推荐 - 品牌2025
  • 统计gin框架接口的攻击ip、加入黑名单
  • 2026年热门的惠尔顿前置过滤器,净水器前置过滤器,自来水前置过滤器品牌用户好评名录 - 品牌鉴赏师
  • 实训赋能匠心筑梦 吉林省万通技工学校以实操实力领跑职业教育 - 品牌之家
  • 北京火炉火烤肉自助尊享优惠
  • 2026年类似Jira的软件推荐:敏捷开发趋势评测,涵盖金融与制造行业合规痛点 - 十大品牌推荐
  • 2026电力行业工频耐压试验台优质厂家推荐:工频耐压测试仪/工频耐压试验仪/工频耐压试验台/干式试验变压器/选择指南 - 优质品牌商家
  • 2026天津国际高中一年费用多少钱?天津私立国际高中学费价格一年大概多少钱汇总 - 品牌2025