鱼C论坛

 找回密码
 立即注册
查看: 3817|回复: 3

[小天才资讯] python爬虫爬取壁纸

[复制链接]
发表于 2021-4-12 20:57:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 potatoking006 于 2021-4-12 21:02 编辑

运行前必须要改savaphoto() 里的保存路径。
  1. import urllib
  2. import urllib.request
  3. from bs4 import BeautifulSoup
  4. import re
  5. import time


  6. def main():
  7.     baseurl=r"https://www.zhihu.com/question/325648700/answer/1366875354"
  8.     temp = gethtml(baseurl)
  9.     # print(temp)
  10.     # savaphoto(r"https://pic2.zhimg.com/50/v2-29b5b450b2c5f828195c359148099def_hd.jpg","1")
  11.     ImgUrlList = getImgUrlList(temp)
  12.     for i in range(len(ImgUrlList)):
  13.         print(ImgUrlList[i])
  14.         time.sleep(12)
  15.         savaphoto(ImgUrlList[i],"第一次壁纸"+str(i))
  16.     # # time.sleep(5)
  17.     # savaphoto("https://pic4.zhimg.com/50/v2-90a72927dc97d2ad5d748860158c6a0b_hd.jpg", "第一次壁纸" + str(1000))

  18. def gethtml(baseUrl):
  19.     head = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36"}
  20.     html = " "
  21.     request = urllib.request.Request(baseUrl,headers=head)
  22.     response = urllib.request.urlopen(request);
  23.     html = response.read().decode("utf-8")
  24.     return html


  25. def getImgUrlList(html):
  26.     ImgUrlList = []
  27.     soup = BeautifulSoup(html,"html.parser")
  28.     findImgUrl=re.compile(r"src="(.*?.jpg)")
  29.     for item in  soup.find_all("figure"):
  30.         item = str(item)
  31.         temp = re.findall(findImgUrl,item)[0]
  32.         ImgUrlList.append(temp)
  33.         # print(temp)

  34.     return ImgUrlList
  35. def savaphoto(photoUrl,imgName):
  36.     head = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36"}
  37.     request = urllib.request.Request(photoUrl,headers=head)
  38.     try:
  39.         reponse = urllib.request.urlopen(request)

  40.         my_img = reponse.read()
  41.         reponse.close()
  42.         ##这里需要自己改路径名
  43.         with open(r"E:/spiderphoto/new/"+imgName+".jpg","wb") as f:
  44.             f.write(my_img)
  45.     except Exception:
  46.         print("访问出现错误")
  47.     finally:
  48.         print("正常爬取一张图片")


  49. if __name__ == "__main__":
  50.     main()
  51.     print('mission success!!!')
复制代码


time.sleep()方法建议设置的长一点,不然容易被反爬。
我用sleep (10)爬取到了99张图片。如果中途被断开连接,可以调整for 中 range的初始位置重新运行程序来达到继续爬壁纸的目的。
G4TBX`3T5J_[~4@K]SK5UA7.png

评分

参与人数 2荣誉 +5 鱼币 +1 收起 理由
yayc_zcyd + 1 厉害
昨非 + 5 继续加油

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-29 14:38:44 | 显示全部楼层
第33行代码报错, 多了个引号
原本第33行: findImgUrl=re.compile(r"src="(.*?.jpg)")
应更正为:    findImgUrl=re.compile(r"src=(.*?.jpg)")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-29 14:42:56 | 显示全部楼层
爬取不了呀 楼主?

"https://pic1.zhimg.com/50/v2-f9274f68e89ef44b8fad5abe4a453ed7_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic4.zhimg.com/50/v2-ed20135a1fd6df4a5b94ebae04f742d4_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic1.zhimg.com/50/v2-f0c31905c2e3771251206d3aee47dcc8_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic2.zhimg.com/50/v2-837b0165cea7b2e7a7af98ed0474188e_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic1.zhimg.com/50/v2-3125fd23a525b074096dea8db6193d66_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic1.zhimg.com/50/v2-94b5af5b7c99246f305acf42f6ed0557_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic4.zhimg.com/50/v2-91b2dc494b4b035f6da3c3693d1e0dab_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic1.zhimg.com/50/v2-9447803942f45d98222f34a37bebe2e8_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic4.zhimg.com/50/v2-14cb27b1fd0adb6cbf9d32fff57986c4_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic1.zhimg.com/50/v2-6cd1823e8d2e89c25726b439f7d35bf7_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic2.zhimg.com/50/v2-e822ad87a40d53768300fed26ce13792_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic1.zhimg.com/50/v2-85dee0f75369593604746a1ac2dba042_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic2.zhimg.com/50/v2-b4ffd52edfa40bd2d312f7f280082b97_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic1.zhimg.com/50/v2-9676c37b4ef96a989c84c56346d4b70b_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic4.zhimg.com/50/v2-ffcd89eb4dd5ba95bd1ba4c7dad784aa_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic1.zhimg.com/50/v2-d0f7af82d5b6a414795b19904013b4b8_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic4.zhimg.com/50/v2-e3a52f8f17e74b1c4f9300913b997a4a_hd.jpg
访问出现错误
正常爬取一张图片
"https://pic3.zhimg.com/50/v2-6fd0b0a4d59e8baca83c4da245c6135b_hd.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-29 18:28:46 | 显示全部楼层
走错片场了吧,这里是Scratch
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-23 23:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表