鱼C论坛

 找回密码
 立即注册
查看: 1716|回复: 14

[技术交流] 爬取房天下装修图片保存本地

[复制链接]
发表于 2021-7-28 22:32:57 | 显示全部楼层 |阅读模式

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

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

x
谢谢大捞们捧场

  1. from time import sleep
  2. import requests,json
  3. from lxml import etree
  4. import os

  5. def processing(strs):
  6.     s = ''  # 定义保存内容的字符串
  7.     for n in strs:
  8.         n = ''.join(n.split())  # 去除空字符
  9.         s = s + n  # 拼接字符串
  10.     return s      # 返回拼接后的字符串

  11. def run(url):
  12.     try:
  13.         headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36',
  14.                 'HOST': 'home.fang.com'}
  15.         response = requests.get(url=url,headers=headers)
  16.         if response.status_code == 200:
  17.             html = etree.HTML(response.text)
  18.             div_list = html.xpath('//div[@class="photo_list"]/ul/li')
  19.             for div in div_list:
  20.                 item = {}
  21.                 names = div.xpath('./ol/p/a/text()')
  22.                 name = processing(names)
  23.                 item['name'] = name
  24.                 hrefs = div.xpath('./ol/p/a/@href')
  25.                 href = 'https://home.fang.com' + processing(hrefs)
  26.                 item['href'] = href
  27.                 TP(img_url=href,headers=headers)
  28.                 sleep(5)
  29.     except:
  30.         return None

  31. def TP(img_url,headers):
  32.     print('下载装修效果图中' + img_url)
  33.     img_response = requests.get(url=img_url,headers=headers)
  34.     img_html = etree.HTML(img_response.text)
  35.     li_list = img_html.xpath('//div[@id="BoxUl"]/ul//li')
  36.     for li in li_list:
  37.         img_pngs = li.xpath('./span/img/@src|./span/img/@src2')
  38.         img_png = processing(img_pngs)
  39.         img_names = li.xpath('./input/@value')
  40.         img_name = processing(img_names) + '.jpg'
  41.         try:
  42.             headers1 = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36'}
  43.             response_img = requests.get(url=img_png,headers=headers1)
  44.             if not os.path.exists(img_name):
  45.                 with open(img_name,'wb') as f:
  46.                     f.write(response_img.content)
  47.                     sleep(0.5)
  48.         except requests.ConnectionError:
  49.             print('保存失败!')

  50. if __name__ == '__main__':
  51.     for page in range(1,2):
  52.         url = f'https://home.fang.com/album/s24/{page}/'
  53.         print('正在分析:' + url)
  54.         run(url=url)
  55.         sleep(5)
复制代码


本帖被以下淘专辑推荐:

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

使用道具 举报

 楼主| 发表于 2021-7-28 22:34:31 | 显示全部楼层
自己爬的时候 加了代理IP
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-28 22:47:02 | 显示全部楼层

回帖奖励 +1 鱼币

学习学习,顺便领个币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-29 06:45:11 From FishC Mobile | 显示全部楼层

回帖奖励 +1 鱼币

静态爬大体上都一样,有空玩一玩动态爬,反反爬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-29 07:26:38 | 显示全部楼层

回帖奖励 +1 鱼币

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

使用道具 举报

发表于 2021-7-29 11:16:06 | 显示全部楼层

回帖奖励 +1 鱼币

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

使用道具 举报

发表于 2021-7-29 11:46:46 | 显示全部楼层

回帖奖励 +1 鱼币

感谢分享!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-29 12:11:31 | 显示全部楼层
wp231957 发表于 2021-7-29 06:45
静态爬大体上都一样,有空玩一玩动态爬,反反爬

好得
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-29 14:35:16 | 显示全部楼层

回帖奖励 +1 鱼币

学习还可以领币??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-29 15:07:12 | 显示全部楼层

回帖奖励 +1 鱼币

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

使用道具 举报

发表于 2021-7-29 16:07:49 | 显示全部楼层

回帖奖励 +1 鱼币

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

使用道具 举报

发表于 2021-7-29 19:53:03 | 显示全部楼层

回帖奖励 +1 鱼币

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

使用道具 举报

发表于 2021-7-30 10:39:03 | 显示全部楼层

回帖奖励 +1 鱼币

反反爬还在学习中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-30 10:39:08 | 显示全部楼层
11
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-3 10:05:16 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 21:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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