随笔分类 - Python3网络爬虫
摘要:Scrapy 是一个基于 Twisted 的异步处理框架,是纯 Python 实现的爬虫框架,其架构清晰,模块之间的耦合程度低,可扩展性极强,可以灵活完成各种需求。我们只需要定制开发几个模块就可以轻松实现一个爬虫。 架构介绍 Scrapy 框架的架构,可以分为如下的几个部分。 Engine,引擎,用
阅读全文
摘要:准备工作 需要先获取一个可用代理,代理就是 IP 地址和端口的组合,就是 <ip>:<port> 这样的格式。如果代理需要访问认证,那就还需要额外的用户名密码两个信息。 那怎么获取一个可用代理呢? 使用搜索引擎搜索 “代理” 关键字,可以看到许多代理服务网站,网站上会有很多免费或付费代理,比如快代理
阅读全文
摘要:在做爬虫的过程中经常会遇到这样的情况,最初爬虫正常运行,正常抓取数据,一切看起来都是那么美好,然而一杯茶的功夫可能就会出现错误,比如 403 Forbidden,这时打开网页一看,可能会看到 “您的 IP 访问频率太高” 这样的提示。出现这种现象的原因是网站采取了一些反爬虫措施。比如,服务器会检测某
阅读全文
摘要:随着大数据时代的发展,各个公司的数据保护意识越来越强,大家都在想尽办法保护自家产品的数据不轻易被爬虫爬走。由于网页是提供信息和服务的重要载体,所以对网页上的信息进行保护就成了至关重要的一个环节。 网页是运行在浏览器端的,当浏览一个网页时,其 HTML 代码、 JavaScript 代码都会被下载到浏
阅读全文
摘要:Scrapy-Redis 是 Scrapy 的一个扩展,主要用于分布式爬虫开发。它通过 Redis 实现多个爬虫实例之间的任务队列共享和数据去重,使得爬虫可以在多个机器上协同工作,提高爬取效率和数据处理能力。 Scrapy-Redis 的主要特点 分布式调度:任务队列存储在 Redis 中,多个爬虫
阅读全文
摘要:Scrapy 是一个强大的 Python 网络爬虫框架,专门设计用于快速开发和管理网络爬虫程序。它提供了一套完整的工具集,使得爬取网站数据变得高效、灵活和可扩展。以下是 Scrapy 的基础介绍和使用方法: Scrapy 的基础概念 项目(Project): Scrapy 爬虫程序的基本工作单位,包
阅读全文
摘要:MongoDB 的介绍 MongoDB 是一个开源的非关系型数据库系统,采用 C++ 编写,旨在处理大量数据存储和高吞吐量的应用程序。MongoDB 使用 JSON 风格的文档存储数据,具有高度的灵活性和性能。 主要特点: 非关系型数据库:不采用传统的关系型数据库表格模型,而是使用文档存储模型。 高
阅读全文
摘要:反爬原因 反爬(Anti-Scraping)机制是网站为防止自动化程序(爬虫)过度抓取或恶意访问而采取的保护措施。反爬的主要原因包括: 保护网站资源:大量的自动化访问会消耗服务器资源,影响正常用户的访问体验。 保护数据隐私:一些网站的数据具有商业价值,网站希望保护这些数据不被自动化程序大量获取。 防
阅读全文
摘要:selenium介绍 开发使用有头浏览器,部署使用无界面浏览器 selenium工作原理 利用浏览器原生的API,封装成一套更加面向对象的Selenium WebDriver API,直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的) seleni
阅读全文
摘要:请求获取数据 import requests url = 'https://q.10jqka.com.cn/index/index/board/all/field/zdf/order/desc/page/2/ajax/1/' headers = { 'User-Agent':'Mozilla/5.0
阅读全文
摘要:对显示搜索结果的网址发送请求 import requests url = 'https://www.dianping.com/search/keyword/150/0_%E6%84%8F%E9%9D%A2' headers = { 'Cookie':'baiduappugc_ab=ugcdetail
阅读全文
摘要:打开网易云音乐,进入飙升榜 进入到开发者工具页面,搜索列表页歌曲名称,查看请求地址 模拟浏览器发出请求,查看响应内容 import requests url = 'https://music.163.com/discover/toplist?id=19723756' headers = { 'Use
阅读全文
摘要:import ddddocr ocr = ddddocr.DdddOcr() with open('img/验证码3.png', 'rb') as f: img_bytes = f.read() result = ocr.classification(img_bytes) print(result)
阅读全文
摘要:效果图 新建窗口 import tkinter as tk# 创建一个窗口 root = tk.Tk() # 设置窗口大小 root.geometry('700x250+200+200') # 设置标题 root.title('在线观看电影软件') # 让窗口持续展现 root.mainloop()
阅读全文
摘要:import requests # 1.获取单张图片 # 找到目标url url = 'https://p1.music.126.net/MSAC3foF-V7L_wXo8GWNag==/109951169698511206.jpg?imageView&quality=89' # 构造请求头字典 h
阅读全文
摘要:非关系型数据库存储 NoSQL,全称 Not Only SQL,意为不仅仅是 SQL,泛指非关系型数据库。NoSQL 是基于键值对的,而且不需要经过 SQL 层的解析,数据之间没有耦合性,性能非常高。 非关系型数据库又可细分如下。 键值存储数据库:代表有 Redis、Voldemort 和 Orac
阅读全文
摘要:JSON 文件存储 JSON,全称为 JavaScript Object Notation, 也就是 JavaScript 对象标记,通过对象和数组的组合来表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。 对象和数组 在 JavaScript 语言中,一切皆为对象。因此任何支持的
阅读全文
摘要:MySQL存储 关系型数据库是基于关系模型的数据库,而关系模型是通过二维表来保存的,所以它的存储方式就是行列组成的表,每一列是一个字段,每一行是一条记录。表可以看作某个实体的集合,实体之间存在联系需要表与表之间的关联关系来体现,如主键外键的关联关系。多个表组成一个数据库,也就是关系型数据库。 关系型
阅读全文
摘要:CSV 文件存储 CSV,全称为 Comma-Separated Values,中文可以叫作逗号分隔值或字符分隔值,其文件以纯文本形式存储表格数据。该文件是一个字符序列,可以由任意数目的记录组成,记录间以某种换行符分隔。每条记录由若干字段组成,字段间的分隔符是其他字符或字符串,最常见的是逗号或制表符
阅读全文

浙公网安备 33010602011771号