如何使用python实现爬取图书封面

  介绍

小编给大家分享一下如何使用python实现爬取图书封面,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

具体内容如下

<强> kongfuzi。py

利用更换代理ip,延迟提交数据,设置请求头破解网站的反爬虫机制

import 请求   import 随机   import 时间   ,   ,   class 下载():   def 才能__init__(自我):   ,,,self.ip_list =, [& # 39; 191.33.179.242:8080& # 39;,, & # 39; 122.72.108.53:80& # 39;,, & # 39; 93.190.142.214:80& # 39;,, & # 39; 189.8.88.125:65301& # 39;,   ,,,,,,,,,,,& # 39;36.66.55.181:8080& # 39;,,& # 39;170.84.102.5:8080& # 39;,,& # 39;177.200.72.214:20183& # 39;,,& # 39;115.229.115.190:9000& # 39;】   ,   ,,,self.user_agent_list =, (   ,,,,,& # 39;用户代理:Mozilla/5.0,(麦金塔电脑,,你,,Intel  Mac  OS  X  10 _6_8;, en - us), AppleWebKit/534.50, (KHTML, like 壁虎),版本/5.1,Safari/534.50 & # 39;   ,,,,,& # 39;用户代理:Mozilla/5.0, (Windows;,你,,Windows  NT  6.1;, en - us), AppleWebKit/534.50, (KHTML, like 壁虎),版本/5.1,Safari/534.50 & # 39;   ,,,,,& # 39;用户代理:,Mozilla/5.0, (Macintosh;, Intel  Mac  OS  X  10 _7_0), AppleWebKit/535.11, (KHTML, like 壁虎),Chrome/17.0.963.56  Safari/535.11 & # 39;   ,,,)   ,   def 才能得到(自我,url,代理=没有,超时=20,,num=5):   ,,,print(“正在请求% s", %, url)   ,,,UA =, random.choice (self.user_agent_list)   ,,,headers =,{& # 39;用户代理# 39;:,UA}   ,   ,,,if  proxy ==,没有:   ,,,,,试一试:   ,,,,,,,return  requests.get (url,标题=头,超时=超时)   ,,,,,除了:   ,,,,,,,if  num 祝辞,0:   ,,,,,,,,,time . sleep (10)   ,,,,,,,,,return  self.get (url, num=num 作用;1)   ,,,,,,,其他的:   ,,,,,,,,,time . sleep (10)   ,,,,,,,,,IP =, & # 39; & # 39; . join (random.choice (self.ip_list) .strip ())   ,,,,,,,,,proxy =, {& # 39; http # 39;:, IP}   ,,,,,,,,,return  self.get (url,,=代理,代理,超时=超时)   ,,,:   ,,,,,试一试:   ,,,,,,,IP =, & # 39; & # 39; . join (random.choice (self.ip_list) .strip ())   ,,,,,,,proxy =, {& # 39; http # 39;:, IP}   ,,,,,,,return  requests.get (url,标题=头,,=代理,代理,超时=超时)   ,,,,,除了:   ,,,,,,,if  num 祝辞,0:   ,,,,,,,,,time . sleep (10)   ,,,,,,,,,IP =, & # 39; & # 39; . join (random.choice (self.ip_list) .strip ())   ,,,,,,,,,proxy =, {& # 39; http # 39;:, IP}   ,,,,,,,,,印刷(“正在更换代理“)   ,,,,,,,,,印刷(“当前代理% s", %,代理)   ,,,,,,,,,return  self.get (url,,=代理,代理,num=num 作用;1)

<强>主要。py

将爬取的图片保存到本地,然后展示到界面

import  kongfuzi   import 操作系统   import 请求   import  bs4   得到tkinter  import  *   得到PIL  import 形象,ImageTk   ,   ,   #,下载图片,生成图片地址列表和图书信息列表   def 下载():   baseUrl =,才能“http://search.kongfz.com"   时间=keyword 才能;e1.get ()   url 才能=,baseUrl  +,“product_result/?选择=0,关键=?,关键字   打印才能(“下载链接:“,+,url)   显示(url)才能   ,   ,   #,bs4处理   def  changesoup (html):   htm 才能=html.content   html_doc 才能=,str (htm, & # 39; utf - 8 # 39;)   时间=soup 才能;bs4.BeautifulSoup (html_doc,“html.parser")   return 才能;汤   ,   ,   #,图书信息集合   def  bookinfo(汤):   #,才能图书价格列表   时间=price 才能;[]   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何使用python实现爬取图书封面