一个简单的爬虫,所用的技巧都是上几篇博文中讲到的。
用于帮助杨烈的课题,搜集几百张卡车的图片。本来想在百度图片,直接输入“卡车”搜索,但是百度图片的网页加载方式没看明白。只是在“卡车之家”这个网站写了一下,聊胜于无。
爬虫旨在数据收集,属于大数据、数据分析等工作的第一步;这也算是我第一次将爬虫技能运用在实际项目当中吧。
但是百度图片的网页加载还是搞不懂,也就导致百度图片无法爬取出来,前段的知识还是需要补充啊。
# -*- coding: utf-8 -*-
import requests
import os
from lxml import etree
#在本地建立一个文件夹,命名为pic_truck,用于存放下载的图片
folder = 'pic_truck'
if not os.path.exists(folder):
os.makedirs(folder)
#定义下载函数,用于下载图片
def download(url):
response = requests.get(url, headers = header)
name = url.split('/')[-1]
f = open(folder + '/' + name + '.jpg', 'wb')
f.write(response.content)
f.close()
return True
#分析该网站的图片url,非常的简单,因此给定range,循环调用函数即可
for i in range(538000, 538947):
url = 'https://product.360che.com/Pic/' + str(i) + '.html#pic'
header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}
#print(url)
response = requests.get(url, headers = header)
html = response.text
xml = etree.HTML(html)
src_list = xml.xpath('//div[@class="imgc1"]/img/@src')
src_num = len(src_list)
print(src_num)
for i in range(src_num):
print(src_list[i])
download(src_list[i])
print('OK')
另外,突然意识到了一个爬虫实战的小技巧:
在百度中检索“爬虫 图片”这个关键词,会调出很多爬取图片的例子,把这些例子做个200道,基本上那就差不多了吧。
加油吧,正确每天都刷个5-10个的,嘻嘻,每次刷完之后就在csdn博客上记录。