下面是通过requests库来对ajax页面进行爬取的案例,与正常页面不同,这里我们获取url的方式也会不同,这里我们通过爬取一个简单的ajax小说页面来为大家讲解。(注:结尾附赠全部代码与详细注释)
导入相应的库
爬取数据必须有相应的库,这里我们使用爬虫脚本中常用的几个Python库:os.path、fake_useragent 和 requests。
1.os.path:
- 这个模块主要用于处理文件和目录的路径。它提供了一系列的功能来进行路径的拼接、拆分、查询等操作,以确保路径的跨平台兼容性(比如Windows和Unix/Linux系统的路径分隔符不同)。
- 在爬虫中,os.path 通常用于构建本地文件系统的路径,以便保存从网络上下载的图片、文本数据等。
2.fake_useragent:
- 这个库用于生成随机的、看起来像是真实浏览器的User-Agent字符串。User-Agent是一个在HTTP请求中发送给服务器的头部信息,它告诉服务器发起请求的客户端(通常是浏览器)的类型、版本和操作系统等信息。
- 在爬虫中,由于许多网站会检查User-Agent来识别爬虫请求并阻止它们,因此使用fake_useragent可以帮助爬虫绕过这种简单的反爬虫机制。
3.requests:
- requests是Python中非常流行的HTTP库,用于发送HTTP/1.1请求。它提供了一个简单易用的API,用于处理各种HTTP请求,如GET、POST、PUT、DELETE等。
- 在爬虫中,requests库是发送网络请求并获取响应的主要工具。它支持会话(Session)对象、HTTPS请求、文件上传、Cookie处理、重定向、连接池等功能,非常适合用于构建复杂的爬虫系统。
import os.path
import fake_useragent
import requests
正确地设置代码的基础部分
这里我们生成一个随机的User-Agent、检查并创建目录以便储存爬取的图片、以及打开(或创建)一个文本文件来保存数据。
import os.path
import fake_useragent
import requests
# 判断是否是直接运行该脚本
if __name__ == '__main__':
head = {
"User-Agent": fake_useragent.UserAgent().random}
if not os.path.exists("./biqugePic"):
os.mkdir("./biqugePic")
f = open("./biquge.txt", 'w', encoding='utf8'