美文网首页
Python requests 爬取汽车之家全部品牌logo,u

Python requests 爬取汽车之家全部品牌logo,u

作者: Jneth | 来源:发表于2019-04-17 18:04 被阅读0次

首先是汽车之家品牌页面的HTML


我们定位到图片那个位置,这个img标签的src加上https就是图片完整的地址
那么品牌名称就是下面那个p标签的text
接下来我们的目的就是从中取出src和text了,下面是获取的全部代码

# coding:utf-8
# 引入相关模块
import requests
from bs4 import BeautifulSoup
url = "https://car.autohome.com.cn/zhaoche/pinpai/"
# 请求汽车之家的 URL,获取其 text 文本 
wbdata = requests.get(url)
#编码格式,避免中文乱码的情况出现
wbdata.encoding = 'gb18030'
# print(wbdata)
# 对获取到的文本进行解析
soup = BeautifulSoup(wbdata.text,'lxml')
# print(soup)
# 从解析文件中通过 select 选择器定位指定的元素,返回一个列表 
# icons = soup.select("a.pic > img")
# print(icons)
titles = soup.select("div.uibox-con >dl > dt > p > a")
#这里很关键,拿出来的数据其实包含了两个同级p标签,
#第一个是logo第二个是品牌文字,所以我这里的处理就是根据奇偶数判断是logo还是品牌文字
src = ''
totalDatas = []
for i in range(len(titles)):
    if i % 2 ==0 :
        src = titles[i].img.get("src") 
        # print(src)
    else:
        title = titles[i].get_text();
        # print(title)
        #做一个写入
        datas = {
            "src": "https:" +src,
            "title":title
        }
        totalDatas.append(datas)
printf(totalDatas)

当然这里得到了全部的图片信息,那么我们应该把它下载到本地方便自己使用

import os,stat
import urllib.request
#必须使用ssl,否则会报证书验证的错误
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

def save_img(img_url,file_name,file_path='test\img'):
    #保存图片到磁盘文件夹 file_path中,默认为当前脚本运行目录下的 test\img文件夹
    try:
        if not os.path.exists(file_path):
            print ('文件夹',file_path,'不存在,重新建立')
            #os.mkdir(file_path)
            os.makedirs(file_path)
        #获得图片后缀
        file_suffix = os.path.splitext(img_url)[1]
        #拼接图片名(包含路径)
        filename = '{}{}{}{}'.format(file_path,os.sep,file_name,file_suffix)
       #下载图片,并保存到文件夹中
        urllib.request.urlretrieve(img_url,filename=filename)
    except IOError as e:
        print ('文件操作失败',e)
    except Exception as e:
        print ('错误 :',e)

for data in totalDatas:
    
    img_url = data["src"]
    file_name = data["title"]

    save_img(img_url,file_name)

相关文章

网友评论

      本文标题:Python requests 爬取汽车之家全部品牌logo,u

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