Pycharm + python 爬虫简单爬取网站数据

本文主要介绍简单的写一个爬取网站图片并将图片下载的python爬虫示例。

首先,python爬虫爬取数据,需要先了解工具包requests以及BeautifulSoup

requests中文文档:http://2.python-requests.org/zh_CN/latest/user/quickstart.html

BeautifulSoup中文文档:https://beautifulsoup.readthedocs.io/zh_CN/latest/

第一步:选择我们的目标网站:https://www.buxiuse.com/?page=2

Pycharm + python 爬虫简单爬取网站数据_第1张图片

二、解析该网站,检查网页,我们发现每张图片都是一个标签,其中src属性代表图片地址。

三,新建python文件Demo.py

Pycharm + python 爬虫简单爬取网站数据_第2张图片

四、导入用的的三个工具库:requests、BeautifulSoup、urllib

1、安装requests命令:pip install requests

2、安装BeautifulSoup   file  -> setting  -> Project Interpreter

Pycharm + python 爬虫简单爬取网站数据_第3张图片

搜索 bs4 (python3 使用bs4)

Pycharm + python 爬虫简单爬取网站数据_第4张图片

安装成功即可

3、urllib在安装python3的时候已经默认安装

4、准备工作就绪:

# 导入三个工具包
import requests
from bs4 import BeautifulSoup
import urllib.request

五、声明函数 getImg(),函数内部用于处理逻辑,最后调用函数执行:

1、首先解析网站,获取网站html内容,代码如下:

def getImg():
    # 解析网站
    url = requests.get("https://www.buxiuse.com/?page=2")  # 爬取网站url
    #获取网站数据
    html = url.text
    #打印输出网站数据
    print(html)

# 调用函数
getImg()

Pycharm + python 爬虫简单爬取网站数据_第5张图片

2、从得到的html内容中找到img标签:以下代码写在上述代码下面

"""
    获取BeautifulSoup对象
    html 表示被解析的html格式的内容
    html.parser表示解析用的解析器
"""
    soup = BeautifulSoup(html,"html.parser")
    # 获取所有img标签
    girl = soup.find_all('img')
    # 打印标签
    print(girl)

执行效果:

Pycharm + python 爬虫简单爬取网站数据_第6张图片

3、继续解析img标签,获取其中的src值,也就是我们最终要爬取的图片地址:

    x = 0
    # 获取图片路径
    for i in girl:
        # 获取src路径
        src = i.get('src')
        print(src)
      

执行效果:

Pycharm + python 爬虫简单爬取网站数据_第7张图片

4、利用urllib下载图片到我们的规定文件夹内:

    x = 0
    # 获取图片路径
    for i in girl:
        # 获取src路径
        src = i.get('src')
        print(src)
        # 下载图片 利用urllib
        urllib.request.urlretrieve(src,"./image/%s.jpg" % x)
        x += 1
        print("正在下载第%d张:" % x)

到此,我们一个简单爬取图片的小爬虫就做好了,看下效果:

Pycharm + python 爬虫简单爬取网站数据_第8张图片

 

 

欢迎大家学习交流!

你可能感兴趣的:(python)