Python爬虫

本文介绍了爬虫的基本概念,包括确定目标(获取URL)、发送请求、获取响应(如HTML、JSON等)、解析数据(BeautifulSoup和json库)以及模拟百度搜索时如何设置User-Agent。
摘要由CSDN通过智能技术生成

爬虫

爬虫就是用程序获取网络上数据这个过程的一种名称

爬虫的原理

1.确定爬取目标:获得URL地址(即网址)
2.发送请求:通过程序模拟浏览器的请求,使用不同的库来发送请求,比如requests和urllib库
3.获取响应:目标网站接收到请求后,会返回一个响应,响应中包含了所需数据,爬虫需要从响应数据中获取所需数据,响应数据可以是HTML页面(它是用来描述网页的一种语言),JSON数据,XML数据等不同格式的数据
4.解析数据:对于HTML页面,可以使用BeautifulSoup库进行解析,对于JSON和XML数据,则需要使用对应的解析工具来处理数据格式,如json库和xml.etree.ElementTree等。
5.存储数据

练习

#模拟百度搜索,输入关键字,获取搜索结果
#1.导入相关库:导⼊urllib.request模块中的urlopen函数,Request类
#urlopen()函数:发送网络请求
#Request类:构造请求头信息,防止请求被封

from urllib.request import urlopen,Request
from urllib.parse import quote #如果有中文,需要转码
from random import choice #.导⼊random模块中的choice函数,⽤于随机选择⼀个浏览器
kw = input("请输入关键字:") #添加动态关键字
#2.添加目标源地址(发送请求)
url = f"https://httpbin.org/get?q={quote(kw)}"
user_agent_list = [
 "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
 "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11",
 "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
 "Opera/9.80 (Android 2.3.4; Linux; Opera Mobi/build-1107180945; U; enGB) Presto/2.8.149 Version/11.10",
]
#3.配置请求头信息(爬虫必须要有headers,防止被封)
headers = {
    'User-Agent': choice(user_agent_list)
}

#4.构造请求头信息(获取响应)
response = Request(url,headers=headers)

#5.打开⽬标⽹⻚,获取⽹⻚对象,赋值给res变量
res = urlopen(response)

#6.读取网页内容
print(res.read().decode('utf-8'))

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值