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

💗wei_shuo的个人主页

💫wei_shuo的学习社区

🌐Hello World !


『赠书活动 | 第十七期』

本期书籍:《Python网络爬虫:从入门到实战》


赠书规则:评论区:点赞|收藏|留言


评论区留言:"人生苦短,我用Java"


活动截止时间:8月21日


赠书数量:2


Tip:中奖后博主私信通知 | 三天内不回复将视为 | 自动放弃
书籍介绍
本书介绍了Python3网络爬虫的常见技术。首先介绍了网页的基础知识,然后介绍了urllib、Requests请求库以及XPath、Beautiful Soup等解析库,接着介绍了selenium对动态网站的爬取和Scrapy爬虫框架,最后介绍了Linux基础,便于读者自主部署编写好的爬虫脚本

进程和线程

进程可以理解为是正在运行的程序的实例。进程是拥有资源的独立单位,而线程不是独立的单位。由于每一次调度进程的开销比较大,为此才引入的线程。一个进程可以拥有多个线程,一个进程中可以同时存在多个线程,这些线程共享该进程的资源,线程的切换消耗是很小的。因此在操作系统中引入进程的目的是更好地使多道程序并发执行,提高资源利用率和系统吞吐量;而引入线程的目的则是减小程序在并发执行时所付出的时空开销,提高操作系统的并发性能

单线程改为多线程

python 复制代码
import requests
from lxml import etree
import time
import os

dirpath = '图片/'
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 data

def 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()
python 复制代码
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 - start
    print('总共消耗时间 : %.5f 秒' % running_time)
    print("全部完成!")  # 主程序

作者简介

内容结构及配套资源

抽奖时间:2023.8.21
公布方式:评论区公布,私信通知


🌼 结语:创作不易,如果觉得博主的文章赏心悦目,还请------点赞👍收藏⭐️评论📝


相关推荐
挖矿大亨几秒前
C++中const修饰成员函数
开发语言·c++
洋九八2 分钟前
Hi3861 OpenHarmony 多线程操作、Timer 定时器、点灯、 IO 相关设备控制
开发语言·华为·harmonyos
2401_841495642 分钟前
【操作系统】存储器管理算法
python·操作系统·存储器管理·连续内存分配算法·非连续内存分配算法·虚拟存储页面置换算法·内存碎片整理与回收算法
星火开发设计3 分钟前
using 关键字:命名空间的使用与注意事项
开发语言·c++·学习·算法·编程·知识
安全检测中3 分钟前
序列化与反序列化学习
java·开发语言
ZPC82104 分钟前
机器人手眼标定
人工智能·python·数码相机·算法·机器人
进击的荆棘4 分钟前
C++起始之路——string
开发语言·c++·stl
机器学习之心HML5 分钟前
PGA+MKAN+Timexer时间序列预测模型Pytorch架构
人工智能·pytorch·python
查无此人byebye8 分钟前
阿里开源Wan2.2模型全面解析:MoE架构加持,电影级视频生成触手可及
人工智能·pytorch·python·深度学习·架构·开源·音视频
张书名9 分钟前
基于Windows11平台的北理工校园网开机自动连接脚本
python·校园网