python抓取数据并修改_2、Python 使用Requests库通用爬取数据操作

本文介绍了使用Python Requests库进行网页数据抓取的基本步骤,包括设置URL、发起请求、获取响应及存储数据。讨论了乱码问题、User-Agent伪装以应对反爬机制,并展示了动态加载数据的爬取方法。还提供了多个实例,如爬取搜狗、豆瓣电影、北京肯德基位置和企业详情信息,以及图片数据的爬取。
摘要由CSDN通过智能技术生成

1、requests作用:

就是一个基于网络请求的模块,可以用来模拟浏览器发请求。

环境安装:

pip install requests

requests模块的使用流程:

指定一个字符串形式url

发起请求

获取响应数据

持久化存储

实现一个简易的网页采集器

爬取到任意关键字对应的页面源码数据

简单需求:爬取搜狗首页的页面源码数据

import requests

#指定一个字符串形式url

url = 'https://www.sogou.com/'

#发起请求

response = requests.get(url=url)#get返回一个响应对象

#获取响应数据

page_text = response.text#获取字符串形式的响应数据

#持久化存储

with open('./sougou.html','w',encoding='utf-8') as fp:

fp.write(page_text)

2、案例需求1:实现简易的网页采集器,爬取到任意关键字对应的页面源码数据

baeb31dfdd2fdca008ab1d64e71582b6.png

2.1过程1分析

import requests

url = 'https://www.sogou.com/web?query=jay'

response = requests.get(url=url)

page_text = response.text

with open('./jay.html','w',encoding='utf-8') as fp:

fp.write(page_text)

a41de0a9703b46c12b9a03e74bfd8d36.png

上述代码出现了问题:

出现了乱码问题

数据量级不对

2.2过程2分析

#解决乱码问题

url = 'https://www.sogou.com/web?query=jay'

response = requests.get(url=url)

# response.encoding#返回响应数据原始的编码格式

response.encoding = 'utf-8'

page_text = response.text

with open('./jay.html','w',encoding='utf-8') as fp:

fp.write(page_text)

753e221784c32edc23e3d50c6af25240.png

当前的请求被搜狗认定为是一个异常的请求

什么是异常的请求?

服务器端检测到该次请求不是基于浏览器访问。使用爬虫程序发起的请求就是异常的请求。

User-Agent:

本身是请求头中的一个信息。

概念:请求载体的身份标识

请求载体:浏览器,爬虫程序

反爬机制:UA检测

对方服务器端会检测请求载体的身份标识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值