python小白第二次实践,爬壁纸
嘻嘻嘻,感谢大家昨天的评论和评分和鼓励,我会继续加油学习的,今天爬了个资源还不错壁纸网站,分享给大家,看不懂得地方,私聊评论,我看到了,一定回答,另外大佬们看到有优化简写的地方,也请多多指教,嘻嘻。本来写循环可以下所有类目的,后来想了想,就改成选择数字了。废话不多说,上源码。# 作者:Administrator
# 日期:2019/7/28 11:39
# 工具:PyCharm
import requests
from lxml import etree
import os
class BiZhi(object):
def first_request(self,headers,number):
for j in range(1,2):
url = 'http://www.win4000.com/mobile_'+str(number)+'_0_0_'+str(j)+'.html'
response = requests.get(url,headers=headers)
html = etree.HTML(response.content.decode())
Bigtit_list = html.xpath('//ul[@class="clearfix"]/li/a/@title')
Biglink_list = html.xpath('//div[@class=""]/ul/li/a/@href')
for Bigtit,Biglink in zip(Bigtit_list,Biglink_list):
if os.path.exists(Bigtit) == False:
os.mkdir(Bigtit)
biglink = str(Biglink).replace('.html','')
self.second_request(Bigtit,biglink,headers)
def second_request(self,Bigtit,biglink,headers):#,Bigtit,Biglink,
for i in range(1,10):
try:
url = biglink+'_'+str(i)+'.html'
# if url == biglink+'_'+str(i+1)+'.html':
# break
response = requests.get(url,headers=headers)
html = etree.HTML(response.content.decode())
img_link = ''.join(html.xpath('//div[@class="main-wrap"]/div/a/img/@src'))
print(img_link)
# 请求图片下载地址
resp = requests.get(img_link,headers=headers)
data = resp.content
img_name = img_link[-10:]
# print(img_name)
file_name =Bigtit +'\\' +img_name
print('正在下载的图片为:',img_name)
with open(file_name,'wb') as f:
f.write(data)
except Exception as err:
if err == 'string index out of range':
continue
spider = BiZhi()
headers = {'User-Agent':'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)'}
print('''
以下为分类对应数字,输入是请输入数字!……^^_^^……
明星:2338节日:2339美女:2340
风景:2341汽车:2342可爱:2343
唯美:2344动漫:2346爱情:2347
动态:2348卡通:2349高翔:2350
影视:2354动物:2355植物:2356美食:2362
''')
number = input('请输入您要下载类目对应的数字:')
spider.first_request(headers,number)
以图为证:
心不再流泪 发表于 2019-7-28 17:47
学这门语言如果除了爬,还有什么其他的用处?
除了爬还有自动化 机器设计 人工智能网页设计 小程序设计前后端....太多了不一一列举了 lu_ 发表于 2019-7-29 08:39
楼主看的都是什么教程,爬虫这一块一点都不会
复制这段内容后打开百度网盘手机App,操作更方便哦?链接:https://pan.baidu.com/s/1_12uXKhUJcd-YKn8Aa3pOg?提取码:t9j8 forjinrange 是页数 最多是5页 欢迎楼主分享给大家! 学习学习…… 这个网站的图片还不错的嘛 这张不错 学习了,真厉害! 好厉害,膜拜大佬