在爬虫中,使用requests多,还是selenium用的多?

本文详细介绍了Python爬虫中常用的库,包括Requests进行HTTP请求,BeautifulSoup解析HTML,json处理JSON数据,以及time进行时间操作。通过实例演示了如何添加请求头、发起GET和POST请求,以及如何使用BeautifulSoup搜索和解析网页内容。

前言

授人以鱼不如授人以渔,搞清楚爬虫的各个库的作用,可以方便后面我们自己在写爬虫时可以举一反三,所以磨刀不误砍柴工,各位看官修炼屠龙术时,必须要经历的过程。

环境

python3.7,Requests,BeautifulSoup,json,time

库介绍

Requests:requests是一个Python第三方库,用于发起HTTP请求。它可以简化Python程序中的HTTP通信,并提供了一种更加人性化的方式来处理HTTP请求和响应。

发起get请求

import requests

response = requests.get('https://www.baidu.com/')
print(response.text)

添加请求头等参数

import requests

headers = {'User-Agent': 'Mozilla/5.0'}
params = {'key1': 'value1', 'key2': 'value2'}

response = requests.get('https://www.baidu.com/', headers=headers, params=params)
print(response.text)

发起post请求

import requests

data = {'key1': 'value1', 'key2': 'value2'}

response = requests.post('https://httpbin.org/post', data=data)
print(response.text)

BeautifulSoup:BeautifulSoup是一个Python第三方库,用于解析HTML和XML文档。它可以让用户在文档中遍历或搜索树形结构,从而获取所需的信息,在爬虫中使用更多的是它搜索功能。

from bs4 import BeautifulSoup

html_doc = """
<html>
<head>
    <title>Test Page</title>
</head>
<body>
    <h1>This is a test page.</h1>
    <p class="content">This is the content of the test page.</p>
    <ul>
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
    </ul>
</body>
</html>
"""

soup = BeautifulSoup(html_doc, 'html.parser')

# 搜索标签
print(soup.find_all('li'))

# 搜索属性
print(soup.find_all(attrs={'class': 'content'}))

# 搜索文本
print(soup.find_all(text='Item 1'))

json:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它以易于阅读和编写的文本格式为基础,用于表示结构化的数据。Python中的json库提供了将Python对象转换为JSON格式数据、将JSON格式数据转换为Python对象的功能。我们在进行爬虫的时候,经常会请求一些API接口,然后返回的结果一般都是json字符串,这个时候为了获得这个字符串里面的内容,就需要使用这个库将其转换为json对象,也就是python里面的字典数据结构。

import json

json_data = '{"name": "Bob", "age": 20, "gender": "male"}'

data = json.loads(json_data)
print(data)

time:time是Python内置的一个标准库,用于处理时间相关的操作。它提供了一些函数来获取、格式化和操作时间。time这个库很简单,但是作用却很大,在爬虫过程中,主要有两大功能,第一就是,我们在向服务器发起请求时,经常会因为操作太频繁,会被目标服务器识别为爬虫所为,这个时候就面临封号或者封IP的操作,为了解决这个问题,我们就要模拟人为的操作,使用time库的sleep函数,进行限速控制。第二个作用,就是爬取的时间数据,需要进行格式化。

作用一:

import time

print('Start')
time.sleep(5)
print('End')

作用二:

import time

timestamp = time.time()
local_time = time.localtime(timestamp)
formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', local_time)

print(formatted_time)

好了,各位看官,今天的爬虫库就先介绍到这里,下一篇会根据本篇讲解的爬虫库,进行实战——爬取百度地图的街景数据,如果各位看官有兴趣,可以follow一下。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、Python练习题

检查学习结果。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值