当前位置: 首页 > news >正文

华企在线网站建设南京江北新区房价走势最新消息

华企在线网站建设,南京江北新区房价走势最新消息,中关村手机网,wordpress怎么做的前言 在使用爬虫爬取数据的时候#xff0c;当需要爬取的数据量比较大#xff0c;且急需很快获取到数据的时候#xff0c;可以考虑将单线程的爬虫写成多线程的爬虫。下面来学习一些它的基础知识和代码编写方法。 一、进程和线程 进程可以理解为是正在运行的程序的实例。进… 前言 在使用爬虫爬取数据的时候当需要爬取的数据量比较大且急需很快获取到数据的时候可以考虑将单线程的爬虫写成多线程的爬虫。下面来学习一些它的基础知识和代码编写方法。 一、进程和线程 进程可以理解为是正在运行的程序的实例。进程是拥有资源的独立单位而线程不是独立的单位。由于每一次调度进程的开销比较大为此才引入的线程。一个进程可以拥有多个线程一个进程中可以同时存在多个线程这些线程共享该进程的资源线程的切换消耗是很小的。因此在操作系统中引入进程的目的是更好地使多道程序并发执行提高资源利用率和系统吞吐量;而引入线程的目的则是减小程序在并发执行时所付出的时空开销提高操作系统的并发性能。 下面用简单的例子进行描述打开本地计算机的”任务管理器”如图1所示这些正在运行的程序叫作进程。如果将一个进程比喻成一个工作指定10个人来做这份工作这10个人就是10个线程。因此在一定的范围内多线程效率比单线程效率更高。 图1.任务管理器 二、Python中的多线程与单线程 在我们平时学习的过程中使用的主要是单线程爬虫。一般来说如果爬取的资源不是特别大使用单线程即可。在Python中默认情况下是单线程的简单理解为代码是按顺序依次运行的比如先运行第一行代码再运行第二行依次类推。在前面章节所学习知识中都是以单线程的形式实践的。 举个例子批量下载某网站的图片由于下载图片是一个耗时的操作如果依然采用单线程的方式下载那么效率就会特别低意味着需要消耗更多的时间等待下载。为了节约时间这时候我们就可以考虑使用多线程的方式来下载图片。 threading模块是Python中专门用来做多线程编程的模块它对thread进行了封装,使用更加方便。例如需要对写代码和玩游戏两个事件使用多线程进行案例代码如下。 import threading import time # 定义第一个 def coding():for x in range(3):print(%s正在写代码\n % x)time.sleep(1) # 定义第二个 def playing():for x in range(3):print(%s正在玩游戏\n % x)time.sleep(1) # 如果使用多线程执行 def multi_thread():start time.time()# Thread创建第一个线程target参数为函数命t1 threading.Thread(targetcoding)t1.start() # 启动线程# 创建第二个线程t2 threading.Thread(targetplaying)t2.start()# join是确保thread子线程执行完毕后才能执行下一个线程t1.join()t2.join()end time.time()running_time end - start print(总共运行时间 : %.5f 秒 % running_time) # 执行 if __name__ __main__:multi_thread() # 执行单线程运行结果如图2所示 图2.多线程运行结果 那么执行单线程会消耗多少时间案例代码如下所示。 import time # 定义第一个 def coding():for x in range(3):print(%s正在写代码\n % x)time.sleep(1) # 定义第二个 def playing():start time.time()for x in range(3):print(%s正在玩游戏\n % x)time.sleep(1)end time.time()running_time end - startprint(总共运行时间 : %.5f 秒 % running_time) def single_thread():coding()playing() # 执行 if __name__ __main__:single_thread() # 执行单线程运行结果如图3所示 图3.单线程运行结果 经过以上多线程和单线程的运行结果可以看出多线程中写代码和玩游戏是一起执行的单线程中则是先写代码再玩游戏。从时间上来说可能只有细微的差距当执行工作量很大的时候便会发现多线程消耗的时间会更少从这个案例中我们也可以知道当所需要执行的任务并不多的时候只需要编写单线程即可。 三、单线程改为多线程 以某直播的图片爬取为例案例代码如下 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(urlurl, headersheader) # 发送请求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[classpic]//alt)for ur, name in zip(image_url, image_name):url ur.replace(?imageview/4/0/w/338/h/190/blur/1, )title name .jpgresponse requests.get(urlurl, headersheader) # 在此发送新的请求with open(dirpath title, wb) as f:f.write(response.content)print(下载成功 name)time.sleep(2)if __name__ __main__:jiexi()如果需要修改为多线程爬虫只需要修改主函数即可例如创建4个线程进行爬取案例代码如下所示 if __name__ __main__:threads []start time.time()# 创建四个进程for i in range(1, 5):thread threading.Thread(targetjiexi(), args(i,))threads.append(thread)thread.start()for thread in threads:thread.join()end time.time()running_time end - startprint(总共消耗时间 : %.5f 秒 % running_time)print(全部完成!) # 主程序四、图书推荐 本书介绍了Python3网络爬虫的常见技术。首先介绍了网页的基础知识然后介绍了urllib、Requests请求库以及XPath、Beautiful Soup等解析库接着介绍了selenium对动态网站的爬取和Scrapy爬虫框架最后介绍了Linux基础便于读者自主部署编写好的爬虫脚本。 本书主要面向对网络爬虫感兴趣的初学者。
http://www.zqtcl.cn/news/798541/

相关文章:

  • 网站建设龙岗电子商务有限公司官网
  • 分栏型网站服装设计网站模板
  • 建设网站备案与不备案区别企业网站怎么做排名
  • php mysql的网站开发html网站制作答辩ppt
  • 网站制作有名 乐云践新专家网页制作公司需要什么资质
  • 织梦怎么用框架实现在浏览器的地址栏只显示网站的域名而不显示出文件名电脑网站模板
  • 北京网络营销网站品牌营销增长公司哪家好
  • 网站反链有好处吗稷山网站建设
  • 廊坊网站群发关键词怎么在百度上推广自己的公司信息
  • 网站开发 沈阳免费模板建站
  • 商业性质网站建设步骤wordpress电影网盘
  • 网站的外部推广成都房产网官网
  • 深圳网站建设创想营销北京土巴兔全包装修价格表
  • 怎么发布php网站邯郸建设网站制作
  • 手机网站做多宽的图片wordpress顶部导航栏怎么创建
  • 如何做招聘网站的数据分析安徽黄山旅游攻略
  • 2022建站市场国际新闻直播
  • 茗哥网站建设装饰公司网站规划方案
  • 北京天津网站建设公司做平台网站要多久
  • 做我女朋友的表白句的网站做seo_教你如何选择网站关键词
  • 如何对网站用户分析徐州网站制作如何定位
  • 网站定制生成器龙岗网站设计讯息
  • 镇江市建设工程网站蜘蛛爬取网站
  • 个人备案网站可以做电影站吗微信做的地方门户网站
  • 网站上传根目录美点网络公司网站
  • 长春微信做网站网站开发和设计如何合作
  • 江门网站制作报价买网站不给我备案
  • 太原百度网站快速优化网站 后台 数据 下载
  • 某网站开发项目进度表天元建设集团有限公司赵唐元
  • 网站外链收录很多 内链收录几个西安网站seo优化