Python3爬虫爬取中国图书网(淘书团)进阶版InsistPy

在原版的基础上,添加了进程池,进程锁,以及数据处理分析小实验

首先分析一下在整个程序的哪个进程中,可以实现多进程提高运行效率,首先爬虫程序会先去拿网站的url,然后对url内的json数据进行处理,之后写入文件

所以在整个过程中,我们可以分别让多个进程去拿url拿response的数据,然后分批处理,写入文件中

首先找到我们遍历url的方法中,把方法体进一步封装到scraping_page_data()方法里

并创建线程池:

defdynamtic_scraping_data(page,headers,fileName):pool=multiprocessing.Pool()#进程池lock=multiprocessing.Manager().Lock()#加一个写锁,确保每页的内容在一起'''ifcode'lock=multiprocessing.Lock()'报错:RuntimeError:Lockobjectsshouldonlybesharedbetweenprocessesthroughinheritance'''foriinrange(page):pool.apply_async(scraping_page_data,(lock,i,headers,fileName))pool.close()pool.join()

这里有几个知识点,首先,对于进程池,会根据主机的系统资源,去分配到底有多少条进程

其次如果不调用join方法,子进程会在主进程结束后继续执行,因为后面有数据分析的功能所以我们条用了join方法,让主进程去等待其他的进程

在进程池中调用apply方法去实现每个子进程要执行的方法apply(method_name,(parameters....))

由于我们想要确保,每次拿到一条url,希望当前进程写入的数据的时候,不被其他进程打扰,我们给写入操作加上进程锁

在写的过程中,我发现如果按照创建一条进程的方法也创建进程锁,会报错,原因是用了进程池,而进程池中的进程并不是由当前同一个父进程创建的原因。

查了下资料,multiprocessing.Manager()返回的manager对象控制了一个server进程,可用于多进程之间的安全通信。

写入文件加锁:

defwrite_csv_rows(lock,path,headers,rows):#writeonerowlock.acquire()withopen(path,'a',encoding='gb18030',newline='')asf:f_csv=csv.DictWriter(f,headers)#如果写入数据为字典,则写入一行,否则写入多行iftype(rows)==type({}):f_csv.writerow(rows)else:f_csv.writerows(rows)lock.release()

这样我们会发现进程池会调用多个进程资源,并执行写入操作,互不干扰,但是这样就遗留下来了问题,总结会提到

接下来拿到数据后,我们读取cvs中的price,分析价格低于200¥的图书的价位分布,为了生成统计图,我们引入matplotlib包

首先处理脏数据:

这里提到一点在基础版忽视的问题,我们发现在读入的数据中,有一部分的图书名字会加上‘团购:’的无用信息,所以我们要在存入磁盘前删掉它

fordatainresult['Data']:bookinfo['bookName']=data['book_name'].replace('团购:','')bookinfo['price']=data['group_price']bookinfo['iconLink']=data['group_image']write_csv_rows(lock,fileName,headers,bookinfo)接下来就是处理数据的部分了:先拿到cvs文件中price的值,也就是栏位为1

然后遍历删掉title=>price后,我们发现在price的数据中,有的值为'39.9-159.9'格式,对于这种格式的数据,我们求平均值来计算

最后我们把价格低于200的数据存入数组,用于生成柱状图

#matplotlibviews,统计价格小于200的图书价格分布prices=[]price=read_csv_column(csv_filename,1)foriinrange(len(price)-1):if(price[i+1].find('-')!=-1):splitprice=price[i+1].split('-')average_price=(float(splitprice[0])+float(splitprice[1]))/2if(average_price<200):prices.append(average_price)elif(float(price[i+1])<200):prices.append(float(price[i+1]))plt.hist(prices,bins=10)print(prices)plt.show()调用show()方法后生成统计图

当然matplotlib为我们提供了很多方法去美化,以及生成点状图,线图等等,在这里仅仅是测试功能,自我学习,不多测试了

小实验全部代码:

总结:

在测试爬虫程序的过程中,发现了一个非常关键的问题,也就是网络稳定对爬虫程序的影响。如果读取页数相当庞大,在抓取过程中,

会有某个链接出现相应失败的情况,但是本程序默认的操作是跳过继续执行。所以这样就有可能导致数据丢失,以至于分析数据结果

不准确,google后,发现消息队列是一个很好的解决方法,把每次拿到的url存入队列中,每个进程作为消费者去pop队列中的url,如

果拿数据失败,则从新把url指令存入队列,等待重新执行。有机会试着实现一下

THE END
1.中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!《毛泽东圈阅评点的中国古代散文》精装,精选毛泽东圈阅、评点、称引过的一百五十二篇(段)古文,为深入研究毛泽东思想与中国传统文化之批判继承关系提供切实的材料。 ¥33.0¥136.02.4折 超低价11.9元!中图网出品19世纪著名藏书家的护书宝典《书之大敌》,众多案例呈现保存纸本书面临的种种困难,讲述一本书的传承之路http://m.bookschina.com/
2.#淘书团#华语百年名家散文选全3册,函来自中图网官方微博ü 简介: 中图网www.bookschina.com,曾用名"中国图书网官方微博",书好又便宜。40万种图书常年1~4.9折,全站在售图 T 友情链接 中图网网上书店 七楼书店 更多a 828关注 1146171粉丝 113319微博 微关系 她的关注(815) 微博电商颜究院 微博开放平台 评论罗伯特 桃红小围裙 她的粉丝(114.6万https://weibo.com/1740250437/P5RbdiiTZ
3.网上书店十大品牌排行榜网上书店品牌排行前十名是国内较早的网上图书销售平台之一。经过十几年的发展,树立了国内网上书店的一流品牌、积累了丰富的网站运营、管理经验,成为网上购书的不二选择。 在十几年的发展过程中,中国图书网已经成为国内图书品种齐全 9 评分 80 人气 17010 互动出版网北京奥维博世图书发行有限公司https://www.cnpp100.com/top/wangshangshudian/
4.中国图书网中国图书网(简称:中图网),是中国最早的网上图书销售平台之一,创办于1998年,隶属于北京英典电子商务有限责任公司[1][2]。 中国图书网以销售多年出版的出版社精选尾货图书为主要特色,同时网站中的书本售价2至5折,且包含老版书、稀缺书。中图网拥有一支专门的采购团队[2]。曾获评“消费者最喜爱的网站”“中国电子https://baike.sogou.com/v367416.htm
5.中国图书网www.bookschina.com相关信息:中国图书网是提供种类齐全,类型广泛的图书的优秀网站。网站提供的图书可供批发,也可以供零售。新书精选,各种中外文学,科技,社科,儿童教育以及生活类作品,杂志,小说都可以再网站上淘到。中国图书网,淘绝版好书。网站评估: 2024-12-22,中国图书网网站世界排名0位,浏览人数已经达到1次,网站关注度2。如果需要https://top.080210.com/siteinfo/19247.html
6.中国图书网>>新到特价书精选日记中国图书网 >> 新到特价书精选 http://www.bookschina.com/books/kind/newInput.aspx 徐皓峰 《刀与星辰 徐皓峰影评集》 《世界经典文学名著文库:飘》 《世界经典文学名著文库:红字》 《世界经典文学名著文库:简.爱》 赵诚《追寻黄万里》 《陕北信天游与剪纸(FOLKSONGS AND PAPERCUTS)》https://m.douban.com/note/220125908/
7.中国图书网中国图书网电话,中国图书网地址中国图书网附近的美食 一分利饭店 地址:保定市涿州市S371太阳树古素如心酒店东侧约180米 河间驴肉火烧 地址:保定市涿州市范阳东路 元南酒庄 地址:保定市涿州市371省道 福乡居饭店 地址:保定市涿州市范阳东路 玉良饭店 地址:保定市涿州市刁窝镇刁窝商业街 凡仔汉堡(华阳东路) 地址:保定市涿州市刁窝镇刁窝商业街 刁https://map.360.cn/site/detail/5779bddf8bbfaa54
8.中国图书柜网中国图书柜网(www.b-k.com.cn)致力于打造图书柜网络大数据平台,专注于图书柜领域企业服务的门户网站。提供专业图书柜行业资讯、图书柜商机、图书柜招商、图书柜企业及产品。http://www.b-k.com.cn/
9.中国图书网商品大全最新海淘值得买商城地址: www.bookschina.com 地域信息:中国 最新推荐 购物指南 商城介绍 中国图书网创建于1998年,有20年的历史,是国内最早的网上图书销售平台之一。是国内图书品种最全的网上书店,拥有85万种现货图书,送货上门,100城市货到付款。 商城点评 评分: 中国图书网是一款关于图书的网站。真的很棒。里面有各式各https://www.bacaoo.com/mall/2673/baike
10.中国图书网品牌介绍,中国图书网品牌联系方式,中国图书网是行业中国图书网成立于1998年,隶属于北京英典电子商务有限责任公司。是国内较早的网上图书销售平台之一。经过十几年的发展,树立了国内网上书店的品牌、积累了丰富的网站运营、管理经验,成为网上购书的不二选择。 在十几年的发展过程中,中国图书网已经成为国内图书品种齐全的网上书店之一。 https://www.chinapp.com/pinpai/134534.html
11.中图网原中国图书网中图网 购物网站>网上书店>0人买 原 中国图书网特色服务:满49元免邮,北京高校满29元免邮长期活动: 去购买 中图网,原中国图书网,网上书店,创办于1998年,通过好书推荐、畅销书、淘书团、特色专题等栏目及各种促销活动,致力于为读者提供价廉物美的正版优质书籍,是爱书人的淘书圣地。https://www.178good.com/buy/bookschina/
12.中国图书网(中图网)是否可信?以我自己三次买书经历告诉你:中图网本身就自称尾货超市,买便宜自己读着看可以,但很多残次品尾货,https://www.zhihu.com/question/39774967/answer/156172250
13.中国图书网app下载最新版中国图书网app下载最新版是一款非常好用的生活应用软件,书籍是人类进步的阶梯,一本好书可以给我们的思想或者职业技能上带来很不错的提升,用户使用这款软件可以查看很多的专业图书,超多的科普以及专业化的图书都是免费的,还有很多图书支持实体书的购买,都是正版书籍,质量上有绝对的保障,有需要的用户快来下载吧。 https://www.kfcrm.com/soft/55258.htm
14.当当网图书小说传记青春文学成功励志投资理财当当网图书频道-全球最大中文网上书店,专业提供小说传记,青春文学,成功励志,投资理财等各品类图书畅销榜最新报价、促销、评论信息,引领最新网上购书体验!https://book.dangdang.com/
15.中国图书网商城商品 搜索 我的购物车 所有商品分类 首页 品牌专区 店铺街 领券中心 团购专区 秒杀专区 登录注册 商城资讯 更多 商城服务 招商入驻 商家中心 门店管理 更多 购物车 7天退换 正品保障 两小时发货 退货承诺 试用中心 实体验证 消协保证 18247216001 商家服务 商家入驻 商家帮助 运营服务 售后服务 退换货申请 退款说明http://www.zgtsg.com/
16.如何利用C#爬取「中国图书网每周一,我们爬取京东、当当、互动出版网和中国图书网的图书7日销量数据,并做一份销量排行榜已经有一段时间了,从后台阅读量的统计数据来看,对辅助大家选购计算机类书籍还是有帮助的。如果大家对这份排行榜有什么新的玩儿法,可以给我留言,大家相互交流,选择好想法,我来代码实现啊。 https://www.jianshu.com/p/609114f19d17
17.图书排行:计算机书籍每周销量排行榜stm32机械工业出版社LSGO软件技术团队统计了京东网、当当网、互动出版社、中国图书网的计算机类书籍销量7日排行,涵盖编程、设计模式、数据分析、深度学习等领域,提供了《数学之美》、《Python编程从入门到实践》等热门书籍信息。 摘要由CSDN通过智能技术生成 LSGO软件技术团队每周一,统计京东网、当当网、互动出版社、中国图书网关于计算机类https://blog.csdn.net/LSGO_MYP/article/details/90174021
18.中国图书网app下载中图网手机版下载v1.0.9安卓最新版软件标签:中国图书网阅读app 中图网手机版是让玩家可以进行图书阅读和购买的综合性app,海量的图书资源可以任由用户阅读,用户还可以通过app进行大批量的购买图书,海量的全新商机尽在软件之中快来下载吧! 中国图书网app官网简介 中国图书网手机版为亲们带来了一个方便的阅读平台!直接在这里就可以找到各类图书阅读哦!喜http://www.downyi.com/downinfo/239940.html
19.图书网图书馆中国图书网秉承国家图书馆的分享精神,为图书迷们推荐优秀图书,同时也是全国各大小图书馆的交流平台。http://www.hbhgbook.com/
20.中国图书网中图网网上书店m.bookschina.com中国图书网中图网网上书店,创办于1998年,通过好书推荐、畅销书、淘书团、特色专题等栏目及各种促销活动,致力于为读者提供价廉物美的正版优质书籍,是爱书人的淘书**。http://www.fwol.cn/gotoweb.php?id=4969037&lc=1