『赠书活动 | 第十七期』《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
公布方式:评论区公布,私信通知


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


相关推荐
懒鸟一枚7 小时前
Java 常见加密算法用法详解
java·开发语言
嵌入式-老费7 小时前
Easyx图形库应用(lua中的函数回调)
开发语言·lua
Jonathan Star7 小时前
浏览器插件爬虫,原创,告别爬虫解密
爬虫
墨尘笔尖7 小时前
使用子进程实现 C++ 与 Python 交互式控制台
c++·windows·python
码界筑梦坊8 小时前
74-基于Python的蜜雪冰城门店数据可视化分析系统
python·数据分析·flask·毕业设计
喜欢吃燃面8 小时前
算法中的链表结构
开发语言·c++·学习·算法
十五年专注C++开发8 小时前
Fruit框架:C++依赖注入解决方案
开发语言·c++·依赖注入·fruit框架
风亦辰7398 小时前
从 Hello World 到游戏世界——pygame 快速入门
python·游戏·pygame
Lovely Ruby8 小时前
七日 Go 的自学笔记 (一)
开发语言·笔记·golang
枫叶丹48 小时前
【Qt开发】多元素类控件(三)-> QTreeWidget
开发语言·数据库·c++·qt