根据学习的爬虫视频实战项目,进行的扩展实战
原实战实现功能:爬取主页电影排行榜片源信息及下载种子
扩展实现功能:破解反爬策略,根据搜索关键字,获取查找出来的片源信息列表以及下载种子
首先获取搜索的请求链接,查看请求参数
多进行几次请求,发现除了参数,其他的参数每次都是固定的,可知即为我们输入的搜索关键字转码而来,这里使用的是编码的方式
搜索请求返回一个数据,我们采用来进行数据提取,获取以及
点击进入详情页,发现详情页的页面地址就等于:
我们再对每个片源的详情页进行访问,用BeautifulSoup提取出对应的下载种子即可
如果直接用库直接对网页进行请求,每次返回都是
这是因为网站有做反爬,具体的解决方法可以参考破解反爬虫策略 /_guard/auto.js(一) 原理
requests 是一个非常流行且强大的 Python 库,用于发送 HTTP 请求。
请求里面的关键参数主要是headers中的user-agent和cookies中的
当请求返回为时,响应数据中会返回一个的cookie,通过对的加密处理,会返回一个的cookie,带着它再一次进行请求,响应数据中就会返回啦
拿到就可以正常进行网络请求啦,所以主要难点就是对中加密方法的处理
主要是对auto.js文件进行反混淆处理,提取出生成的关键代码,具体操作参考破解反爬虫策略 /_guard/auto.js(一) 原理,反混淆处理后的关键代码如下:
拥有一个获取的方法,剩下就是按照上面获取逻辑来处理cookie啦
ExecJS 是一个 Python 库,它允许你直接在 Python 中执行 Javascript 代码
对于查询的关键字,请求前需要对内容进行转码处理,具体如下:
urllib.parse 是 Python 标准库中的一个模块,专门用于处理 URL 的解析、合成、编码和解码操作。
通过和对页面数据进行分析,获取、、
BeautifulSoup 是一个用于解析 HTML 和 XML 文件的 Python 库,通常用于网页抓取(Web Scraping)
re 是 Python 的正则表达式模块,用于在字符串中执行模式匹配操作。
函数处理了页面查询数据,获取了对应的详情页的路径,通过函数获取详情页的数据,得到每个片源的种子数据
获取了数据,当然要进行保存操作啦,这里用文件对爬取的数据进行保存
csv 是 Python 标准库中的一个模块,用于处理 CSV(逗号分隔值)文件。它提供了方便的工具来读取和写入 CSV 格式的数据,非常适合处理结构化数据。
启动程序,爬虫顺利运行,下面是运行效果:
爬取数据也顺利保存进本地csv文件