美文网首页
麻瓜编程·python实战·1-4作业:爬取Taylor Swi

麻瓜编程·python实战·1-4作业:爬取Taylor Swi

作者: bbjoe | 来源:发表于2016-08-10 11:04 被阅读0次

我的结果:

Talor Swift

我的代码:

from bs4 import  BeautifulSoup
import requests, urllib.request
import time, os

# 收纳图片地址
img_url = []  
# 目标网页,20页
urls = ['http://weheartit.com/inspirations/taylorswift?page={}&before=253730307'.format(str(i)) for i in range(1, 21)]   

#解析网页,获取图片地址,返回列表
def get_img_urls(url):
    time.sleep(5)
    web_data = requests.get(url)
    soup = BeautifulSoup(web_data.text, 'lxml')
    imgs = soup.select('div[id="main-container"] > div:nth-of-type(2) > div > div > div > div > a > img')
    for img in imgs:
        img = img.get('src')
        img_url.append(img)
    return img_url

# 下载图片
def img_retrieve(item):
    # 新建路径
    if not os.path.exists(r'C:/Users/Administrator/desktop/Taylor_Switf/'):
        os.mkdir(r'C:/Users/Administrator/desktop/Taylor_Switf/')
    item_path = 'C:/Users/Administrator/desktop/Taylor_Switf/'
   # 下载图片,用序号命名
    urllib.request.urlretrieve(item, item_path + item[-14:].replace('superthumb',str(img_url.index(item))))

#起点
for url in urls:
    get_img_urls(url)

for item in img_url:
    img_retrieve(item)

我的感想:

  1. 用时两个小时十五分钟
  2. 关于网站(weheartit.com/)我想说:
  • 群里有人说需要代理才能爬,但是我没用,而且之前很多人反映网站速度慢,但我今天却很快。不知道发生了什么,也许改版了?

  • 当我在检查网页结构的时候,我发现图片都是webp格式的:

  • webp格式
  • 但是我爬取出来的数据却是全部都是superthumb.jpg:

  • superthumb.jpg
  • 不知道发生了什么。

  1. 关于代码我想说:
  • 我的select语句用很长,别人的很短,如:'img[class="entry_thumbnail"]
  • 关于文件夹路径,使用 import os。

检查路径存在:os.path.exists
建立路径:os.mkdr/os.mkdirs

  1. 其实每次爬虫运行的过程都感觉挺惊险的。希望能快快进步。

相关文章

网友评论

      本文标题:麻瓜编程·python实战·1-4作业:爬取Taylor Swi

      本文链接:https://www.haomeiwen.com/subject/xitjsttx.html