『赠书活动 | 第十七期』《Python网络爬虫:从入门到实战》

💗wei_shuo的个人主页
💫wei_shuo的学习社区
🌐Hello World !
『赠书活动 | 第十七期』
本期书籍:《Python网络爬虫:从入门到实战》
赠书规则:评论区:点赞|收藏|留言
评论区留言:"人生苦短,我用Java"
活动截止时间:8月21日
赠书数量:2
Tip:中奖后博主私信通知 | 三天内不回复将视为 | 自动放弃
书籍介绍
本书介绍了Python3网络爬虫的常见技术。首先介绍了网页的基础知识,然后介绍了urllib、Requests请求库以及XPath、Beautiful Soup等解析库,接着介绍了selenium对动态网站的爬取和Scrapy爬虫框架,最后介绍了Linux基础,便于读者自主部署编写好的爬虫脚本
进程和线程
进程可以理解为是正在运行的程序的实例。进程是拥有资源的独立单位,而线程不是独立的单位。由于每一次调度进程的开销比较大,为此才引入的线程。一个进程可以拥有多个线程,一个进程中可以同时存在多个线程,这些线程共享该进程的资源,线程的切换消耗是很小的。因此在操作系统中引入进程的目的是更好地使多道程序并发执行,提高资源利用率和系统吞吐量;而引入线程的目的则是减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能
单线程改为多线程
import requests
from lxml import etree
import time
import osdirpath = '图片/'
if not os.path.exists(dirpath):os.mkdir(dirpath) # 创建文件夹header = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.162 Safari/537.36'
}
def get_photo():url = 'https://www.huya.com/g/4079/' # 目标网站response = requests.get(url=url, headers=header) # 发送请求data = etree.HTML(response.text) # 转化为html格式return datadef jiexi():data = get_photo()image_url = data.xpath('//a//img//@data-original')image_name = data.xpath('//a//img[@class="pic"]//@alt')for ur, name in zip(image_url, image_name):url = ur.replace('?imageview/4/0/w/338/h/190/blur/1', '')title = name + '.jpg'response = requests.get(url=url, headers=header) # 在此发送新的请求with open(dirpath + title, 'wb') as f:f.write(response.content)print("下载成功" + name)time.sleep(2)if __name__ == '__main__':jiexi()
if __name__ == "__main__":threads = []start = time.time()# 创建四个进程for i in range(1, 5):thread = threading.Thread(target=jiexi(), args=(i,))threads.append(thread)thread.start()for thread in threads:thread.join()end = time.time()running_time = end - startprint('总共消耗时间 : %.5f 秒' % running_time)print("全部完成!") # 主程序

作者简介

内容结构及配套资源


抽奖时间:2023.8.21
公布方式:评论区公布,私信通知
🌼 结语:创作不易,如果觉得博主的文章赏心悦目,还请——
点赞👍收藏⭐️评论📝

相关文章:
『赠书活动 | 第十七期』《Python网络爬虫:从入门到实战》
💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 『赠书活动 | 第十七期』 本期书籍:《Python网络爬虫:从入门到实战》 赠书规则:评论区:点赞|收…...
C++——vector介绍及其简要模拟实现
vector的介绍 此主题介绍转载自(https://cplusplus.com/reference/vector/vector/) 1.vector是一个表示可变大小数组的序列容器 2.vector同数组一样,采用连续存储空间来存储元素,这样可以用下标来对vector中的元素进行访问,但是vector的大…...
Vue2嵌入HTML页面空白、互相传参、延迟加载等问题解决方案
一、需求分析 最近做的一个用H5加原生开发的html项目,现需要集成到Vue2.0项目里面来。遇到的相关问题做个记录和总结,以便能帮到大家避免踩坑。 二、问题记录 1、页面空白问题 将html页面通过iframe的方式嵌入进来之后,发现页面是空白的&am…...
目标检测中的IOU
IOU 什么是IOU?IOU应用场景写代码调试什么是IOU? 简单来说IOU就是用来度量目标检测中预测框与真实框的重叠程度。在图像分类中,有一个明确的指标准确率来衡量模型分类模型的好坏。其公式为: 这个公式显然不适合在在目标检测中使用。我们知道目标检测中都是用一个矩形框住…...
微信小程序实现双向滑动快捷选择价格(价格区间)
实现样子 提示:效果可以自己自定义,自己将文字样式更改为自己项目属性即可 实现达到方法 1、左边为最低价,右边为最高价格,可以拖动左边最低价选择价格。拖动右边为最高价。 2、当两个价格重合时,继续拖动࿰…...
W5500-EVB-PICO 做TCP Server进行回环测试(六)
前言 上一章我们用W5500-EVB-PICO开发板做TCP 客户端连接服务器进行数据回环测试,那么本章将用开发板做TCP服务器来进行数据回环测试。 TCP是什么?什么是TCP Server?能干什么? TCP (Transmission Control Protocol) 是一种面向连…...
Flowise AI:用于构建LLM流的拖放UI
推荐:使用NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景 什么是Flowise AI? Flowise AI是一个开源的UI可视化工具,用于帮助开发LangChain应用程序。在我们详细介绍 Flowise AI 之前,让我们快速定义 LangChain。LangChain是…...
Vue原理解析:Vue到底是什么?
Vue.js是一种流行的JavaScript框架,用于构建用户界面。它采用了MVVM(Model-View-ViewModel)架构模式,旨在简化Web应用程序的开发过程。Vue具有响应式的数据绑定和组件化的特性,使得开发者能够以声明式的方式构建可复用…...
Playwright 和 Selenium 的区别是什么?
前言 最近有不少同学问到 Playwright 和 Selenium 的区别是什么? 有同学可能之前学过 selenium 了,再学一个 playwright 感觉有些多余,可能之前有项目已经是 selenium 写的了,换成 playwright 需要时间成本,并且可能有…...
【面试题】前端面试十五问
前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 数组去重 遍历旧数组,然后拿着旧数组元素去查询新数组,如果该元素在新数组里面没有出现过,我们就添加,否…...
09-1_Qt 5.9 C++开发指南_Qchart概述
Qt Charts 可以很方便地绘制常见的折线图、柱状图、饼图等图表,不用自己耗费时间和精力开发绘图组件或使用第三方组件了。 本章首先介绍 Qt Charts 的基本特点和功能,以画折线图为例详细说明 Qt Charts 各主要部件的操作方法,再介绍各种常用…...
烘焙光照贴图,模型小部分发黑
1.首先确定创建了光照贴图UV,其次确定不是溢色,这个最简单,所有模型材质设置为双面就可以,URP材质球的话这里就是设置双面 在scence界面Texel Validity模式里查看溢色,红色表示有溢色,绿色表示正常 2. 光照…...
gitblit windows部署
1.官网下载 往死慢,我是从百度找的1.9.1,几乎就是最新版 http://www.gitblit.com/ 2.解压 下载下来是一个zip压缩包,直接解压即可 3.配置 3.1.配置资源库路径 找到data文件下的gitblit.properties文件,用Notepad打开 **注意路…...
opencv基础53-图像轮廓06-判断像素点与轮廓的关系(轮廓内,轮廓上,轮廓外)cv2.pointPolygonTest()
点到轮廓的距离 在 OpenCV 中,函数 cv2.pointPolygonTest()被用来计算点到多边形(轮廓)的最短距离(也 就是垂线距离),这个计算过程又称点和多边形的关系测试。该函数的语法格式为: retval cv2…...
【LeetCode每日一题】——575.分糖果
文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 哈希表 二【题目难度】 简单 三【题目编号】 575.分糖果 四【题目描述】 Alice 有 n 枚糖&…...
添加水印图片的java代码
文章目录 添加依赖java代码demo 添加依赖 <dependency><groupId>com.github.jai-imageio</groupId><artifactId>jai-imageio-core</artifactId><version>1.4.0</version></dependency>java代码demo package com.zkj.report.c…...
uniapp创建项目入门【详细】
大家在学习vue和微信小程序之后,就可以开始来学习uniapp了,在uniapp中,一套代码可以跨越所有的平台,可以很方便的维护。接下来我们先来学习如何创建uinapp的项目 一、uniapp的创建需求 大家只要会vue和微信小程序的基础来学习unia…...
pytest功能特性介绍
前言 学pytest就不得不说fixture,fixture是pytest的精髓所在,就像unittest中的setup和teardown一样,如果不学fixture那么使用pytest和使用unittest是没什么区别的(个人理解)。 fixture用途 1.做测试前后的初始化设置,如测试数据…...
UIE在实体识别和关系抽取上的实践
近期有做信息抽取的需求,UIE在信息抽取方面效果不错。 模型准备 huggingface上下载UIE模型:PaddlePaddle/uie-base Hugging Face 点击“Clone Repository”,确定git clone的链接 其中包含大文件,需要在windows安装git-lfs,在https://git-lfs.com/下载git-lfs,安装。…...
Baklib: 逆袭语雀的在线帮助中心,知识库管理工具
1. 介绍 在现代的技术发展中,知识管理变得越来越重要。特别是对于企业来说,拥有一个高效的知识库管理工具可以极大地提高工作效率和团队合作。Baklib就是这样一款在线帮助中心和知识库管理工具,它可以帮助企业集中管理和共享知识,…...
100人以内中小工厂ERP怎么选?好用不贵的系统看这里
很多几十人到百人的中小工厂,都面临同样的管理难题: 库存不准,盘点麻烦,积压浪费多 生产进度不透明,天天追着车间问 订单易出错,漏单错发时有发生 财务对账慢,成本利润算不清 想用系统又怕&…...
自动化测试的下一站:AI驱动与智能断言
站在十字路口的自动化测试进入数字化深入发展的时代,软件系统正变得前所未有的复杂与动态。微服务架构、持续交付、云原生部署等范式,对软件质量保障体系提出了极限挑战。传统的、基于脚本录制与硬编码断言的自动化测试,在维护成本、用例覆盖…...
AMD Ryzen处理器深度调优实战:利用SMUDebugTool实现硬件级精准控制
AMD Ryzen处理器深度调优实战:利用SMUDebugTool实现硬件级精准控制 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址…...
从‘双K模型’到‘三点共线’:一个齐次化技巧如何串起解析几何的隐藏逻辑链
从‘双K模型’到‘三点共线’:解析几何中的齐次化思维革命 解析几何的魅力在于它用代数工具揭示几何图形的内在规律。当我们面对椭圆、双曲线等二次曲线问题时,常常陷入繁琐计算的泥潭。但有一种被称为"齐次化"的技巧,不仅能简化计…...
别再乱加标签了!重组蛋白实验中His、GST、Flag标签到底怎么选?
重组蛋白实验中标签选择的黄金法则:从新手到高手的实战指南 实验室的冰箱门上贴着一张泛黄的便利贴,上面潦草地写着"His还是GST?这是个问题"。这可能是每个刚接触重组蛋白表达的研究生都会经历的困惑时刻。选择不当的标签不仅会浪费…...
免费音乐解锁神器:5分钟学会本地处理加密音频文件
免费音乐解锁神器:5分钟学会本地处理加密音频文件 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://g…...
Inception-ResNet-v1和v2到底差在哪?用PyTorch代码带你做一次深度对比实验
Inception-ResNet-v1与v2架构深度解析:PyTorch实战对比指南 当Google Brain团队在2016年提出Inception-ResNet系列模型时,计算机视觉领域迎来了一次重要的架构融合。本文将带您深入剖析v1与v2版本的核心差异,并通过PyTorch实战演示如何在不同…...
桌面/在线/小程序三种抠图路线,2026 年选哪种更方便
同样是做去除背景这件事,2026 年在电脑上打开桌面软件、在浏览器里用一个在线工具、还是直接在微信小程序里完成,体验差别其实比很多人想象的要大。前两类工具功能堆积得多,但启动路径长、注册流程繁琐;而微信里的小程序路径更短&…...
UABEAvalonia:跨平台Unity资源编辑器的完整使用指南
UABEAvalonia:跨平台Unity资源编辑器的完整使用指南 【免费下载链接】UABEA c# uabe for newer versions of unity 项目地址: https://gitcode.com/gh_mirrors/ua/UABEA UABEAvalonia是一款基于C#开发的跨平台Unity资源编辑器,专为现代Unity引擎版…...
Fashion-MNIST图像分类实战:CNN实现93%+准确率
1. 项目概述:当深度学习遇上时尚Fashion-MNIST数据集自2017年发布以来,已成为机器学习领域的"新MNIST"。这个包含7万张28x28灰度服装图像的数据集,涵盖了T恤、裤子、套头衫等10个类别,完美复刻了经典MNIST的格式却带来了…...
