python 最简单的爬虫

一个简单的爬虫工程

环境:

OS:Window10

python:3.7

安装一些库文件

pip install requests
pip install beautifulsoup4
pip install lxml

在安装的时候如果遇到了你的pip版本过低的错误的话,可以找到你本地的C:\Users\XXX\PycharmProjects\getHtml\venv\Lib\site-packages下面的pip-18.1.dist-info文件夹删除,之后在进行更新

下面是提取一个网页的图片代码

import time

import requests
import os
import threading

from bs4 import BeautifulSoup

class BeautifulPicture():

    def __init__(self):
        self.headers = {‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36‘}
        self.web_url = "https://unsplash.com/"
        self.folder_path = r‘C:\Users\peiqiang\Desktop\python Pic‘

    def request(self, url):
        r = requests.get(url)
        return r

    def mkdir(self, path):
        path = path.strip()
        isExists = os.path.exists(path)
        if not isExists:
            print("创建名字叫做", path, "的文件夹")
            os.makedirs(path)
            print("创建成功!")
        else:
            print(path, ‘文件夹已经存在了,不再创建‘)

    def save_img(self, url, name):
        print(‘开始保存图片...‘)
        img = self.request(url)
        file_name = self.folder_path + ‘\{}.jpg‘.format(name)
        print(‘开始保存文件‘)
        f = open(file_name, ‘ab‘)
        f.write(img.content)
        f.close()
        thread_lock.release()
        print(file_name, ‘文件保存成功!‘)

    def get_pic(self):
        print(‘开始网页get请求‘)
        r = self.request(self.web_url)
        print(‘开始获取所有img标签‘)
        all_a = BeautifulSoup(r.text, ‘lxml‘).find_all(‘img‘)
        print(‘开始创建文件夹‘)
        self.mkdir(self.folder_path)
        print(‘开始切换文件夹‘)
        os.chdir(self.folder_path)
        i=0
        for a in all_a:
            i += 1
            print("開始下載第{}張圖片".format(i))
            thread_lock.acquire()
            print("抓取圖片的URL:", a["src"])
            self.save_img(a["src"], i)

thread_lock = threading.BoundedSemaphore(value=10)
beauty = BeautifulPicture()
beauty.get_pic()

  效果如下

本地的存放的路径下

原文地址:https://www.cnblogs.com/killclock048/p/10109199.html

时间: 2024-08-28 06:59:22

python 最简单的爬虫的相关文章

python 一个简单的爬虫(1)

1.一个简单的爬虫:爬取豆瓣的热门电影的信息 技能:获取网页源码,正则表达式,函数调用,全局变量的定义 1 #! /usr/bin/env python 2 # -*- coding=utf-8 -*- 3 import requests 4 import json 5 import re 6 import sys 7 reload(sys) 8 sys.setdefaultencoding("utf-8") 9 classinfo = [] 10 f = open('info.txt

[Python学习] 简单网络爬虫抓取博客文章及思想介绍

        前面一直强调Python运用到网络爬虫方面非常有效,这篇文章也是结合学习的Python视频知识及我研究生数据挖掘方向的知识.从而简单介绍下Python是如何爬去网络数据的,文章知识非常简单,但是也分享给大家,就当简单入门吧!同时只分享知识,希望大家不要去做破坏网络的知识或侵犯别人的原创型文章.主要包括: 1.介绍爬取CSDN自己博客文章的简单思想及过程 2.实现Python源码爬取新浪韩寒博客的316篇文章 一.爬虫的简单思想      最近看刘兵的<Web数据挖掘>知道,在研

使用python编写简单网络爬虫(一)

总算有时间动手用所学的python知识编写一个简单的网络爬虫了,这个例子主要实现用python爬虫从百度图库中下载美女的图片,并保存在本地,闲话少说,直接贴出相应的代码如下: ------------------------------------------------------------------------------------------- #coding=utf-8 # 导入urllib和re模块  import urllib import re # 定义获取百度图库URL的类

使用Python编写简单网络爬虫抓取视频下载资源

我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎.所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚本语言,没有之中的一个. Python的语言简洁灵活,标准库功能强大.寻常能够用作计算器,文本编码转换,图片处理,批量下载,批量处理文本等.总之我非常喜欢,也越用越上手,这么好用的一个工具,一般人我不告诉他.. .很多其它网络编程教程请上网维教程网 由于其强大的字符串处理能力,以及urllib2,c

python scrapy 简单的爬虫

1 scrapy的文档 比较简单 http://scrapy-chs.readthedocs.io/zh_CN/latest/intro/overview.html 我假定你已经安装了Scrapy.假如你没有安装,你可以参考这篇文章. 在本文中,我们将学会如何使用Scrapy建立一个爬虫程序,并爬取指定网站上的内容 1. 创建一个新的Scrapy Project scrapy creatproject "project-name" 2. 定义你需要从网页中提取的元素Item 3.实现一

Python实现简单的爬虫获取某刀网的更新数据

昨天晚上无聊时,想着练习一下Python所以写了一个小爬虫获取小刀娱乐网里的更新数据 [python] view plain copy #!/usr/bin/python # coding: utf-8 import urllib.request import re #定义一个获取网页源码的子程序 head = "www.xiaodao.la" def get(): data = urllib.request.urlopen('http://www.xiaodao.la').read(

Python 实现简单的爬虫

Python 是一种跨平台的计算机程序设计语言,面向对象动态类型语言,Python是纯粹的自由软件,源代码和解释器CPython遵循 GPL(GNU General Public License)协议,随着版本的不断更新和语言新功能的添加,Python 越来越多被用于独立的.大型项目的开发. 快速抓取网页: 使用urllib最基本的抓取功能,将百度首页的内容保存到本地目录下. >>> import urllib.request >>> >>> res=

看我如何利用Python写简单网络爬虫

平时没事喜欢看看freebuf的文章,今天在看文章的时候,无线网总是时断时续,于是自己心血来潮就动手写了这个网络爬虫,将页面保存下来方便查看 先分析网站内容,红色部分即是网站文章内容div,可以看到,每一页有15篇文章 随便打开一个div来看,可以看到,蓝色部分除了一个文章标题以外没有什么有用的信息,而注意红色部分我勾画出的地方,可以知道,它是指向文章的地址的超链接,那么爬虫只要捕捉到这个地址就可以了. 接下来在一个问题就是翻页问题,可以看到,这和大多数网站不同,底部没有页数标签,而是查看更多,

用Python写简单的爬虫

准备: 1.扒网页,根据URL来获取网页信息 import urllib.parse import urllib.request response = urllib.request.urlopen("https://www.cnblogs.com") print(response.read()) urlopen方法 urlopen(url, data, timeout) url即为URL,data是访问URL时要传送的数据,timeout是设置超时时间 返回response对象 res