爬虫实战第二天
任务
爬取TaylorSift动态加载网页中前20页的图片,并保存到本地。
成果
源码
import requests
import re
import time
from bs4 import BeautifulSoup
from urllib.request import urlretrieve
x = 1
url = 'http://weheartit.com/inspirations/taylorswift?scrolling=true&page={}&before=278006022'
def get_pictures(page):
# global要在函数内部进行声明
global x
wb_data = requests.get(page)
soup = BeautifulSoup(wb_data.text, 'lxml')
pic_urls = soup.select('body > div > div > div > a > img')
for pic_url in pic_urls:
# 缩略图链接换成大图链接,并保存到本地
urlretrieve(re.sub('superthumb.jpg', 'large.jpg', pic_url['src']), 'TaylorSwift/%s.jpg' % x)
x += 1
def get_more_pages(start, end):
for one in range(start, end):
get_pictures(url.format(str(one)))
time.sleep(1)
get_more_pages(1, 21)
小结
- http://weheartit.com/inspirations/taylorswift? scrolling=true&page=1&before=278006022 链接中page=1 后面的参数对网页爬取影响不大。
- 利用time.sleep()函数进行反反爬取。
网友评论