和我一起学Python,一起采集妹子图

LSP修复工具-独立版 单独的 LSP修复工具 LSP修复工具-独立版 立即下载

目录

  • 推荐
  • 一、小小课堂
  • 二、保存内容成html
  • 2.1 通过selenium模拟普通人查找百度图片1. 普通人搜索图片2 分析3 代码实现4 模拟人为鼠标滑轮滚动屏幕2.2 此部分完整代码2.3 保存HTML并查看是否保存成功
  • 三、解析图片链接
  • 3.1 前期分析3.2 正则提取URL
  • 四、完整代码
  • 五、爬取结果
  • 六、修改版源码(加上代理IP)

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:961562169

一、小小课堂

经过上篇的简单介绍,相信你们已经对selenium有了初步的了解,那么!为了让大家对selenium有进一步的了解。细心的博主给大家带来了福利,那就是使用selenium爬取百度妹子图。希望大家不要叫我LSP!


至于通过怎样的思路爬取百度妹子图呢?博主的大体思路是先获取一定量的内容保存成html页面,然后通过解析已经保存的html中的图片链接,然后保存到本地。

二、保存内容成html

2.1 通过selenium模拟普通人查找百度图片

1. 普通人搜索图片


已知,正常人打开百度导航搜索图片的正确方式应该是这样的:百度导航—>输入关键词—》点击查找—》点击所有图片

2 分析

🆗知道了普通人如何查找图片,那么我们下面就通过selenium模拟上述的具体过程。在模拟之前,我们先分析一下几个主要的点。

 

  •  1. 输入框
    我们通过打开开发者选项,找到输入框所在部分,解析xpath
     
  •  2. 查询点击
     
  •  3. 点击关于美女的百度图片
     

3 代码实现

    # 控制chrome浏览器
    driver = webdriver.Chrome("./chromedriver/chromedriver.exe")
    #窗口最大化
    driver.maximize_window()
    # 输入网址
    driver.get("https://www.baidu.com/")
    # 找到文本框,输入文字
    driver.find_element_by_xpath('//*[@id="kw"]').send_keys("哆啦a梦图片")
    #找到按钮,单击
    driver.find_element_by_xpath('//*[@id="su"]').click()
    #停一下,等待加载完毕
    time.sleep(2)

    #找到a标签,单击
    driver.find_element_by_xpath('//*[@id="1"]/h3/a').click()
    #停一下,等待加载完毕
    time.sleep(2)


🆗,我们可以看到已经完美的模拟出来过程。

window.scrollTo(0,10000)


在这里我们看效果是很不错的,但是其实还是有点小问题的,我们现在其实还只是在第一个窗口中,因此我们需要切换一下的窗口,这个时候我们就需要添加下面一行代码

#切换窗口,因为现在打开了一个窗口,目前还是在第1个窗口中
driver.switch_to.window(driver.window_handles[1])

4 模拟人为鼠标滑轮滚动屏幕

模拟人为鼠标滑轮滚动屏幕,我们有Selenium+python自动化之js屏幕滑动,下列为脚本实现js滑屏

scroll="document.documentElement.scrollTop=800"#垂直滚动 px
scroll = "document.documentElement.scrollLeft=1000"#水平滚动
scroll="window.scrollTo(0,10000)"#滚动到指定坐标
scroll="window.scrollBy(0,100)"#滑动到相对坐标
scroll="window.scrollTo(0,document.body.scrollHeight)"#获取body的高度,滑到底部
document.body.scrollWidth 获取body宽度
driver.execute_script(scroll)

在此,博主使用了滑动到指定坐标。由于已经验证过了,所以直接给出正确游标

window.scrollTo(0,10000)

效果图如下:


在此,博主先测试翻页10次,代码如下

    for i in range(10):
        #执行js
        driver.execute_script("window.scrollTo(0,10000)")
        time.sleep(1)

效果图:


好了,所有的准备工作,我们已经完成了。那么接下来我们只需把他保存为html页面即可。

2.2 此部分完整代码

from selenium import webdriver
from lxml import etree
import os
import time
import requests
import re
import random

headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
}

#创建文件夹
if not os.path.exists("./files/baidu"):
    os.makedirs("./files/baidu")


def get_html():
    # 控制chrome浏览器
    driver = webdriver.Chrome("./chromedriver/chromedriver.exe")
    #窗口最大化
    driver.maximize_window()
    # 输入网址
    driver.get("https://www.baidu.com/")
    # 找到文本框,输入文字
    driver.find_element_by_xpath('//*[@id="kw"]').send_keys("哆啦a梦图片")
    #找到按钮,单击
    driver.find_element_by_xpath('//*[@id="su"]').click()
    #停一下,等待加载完毕
    time.sleep(2)

    #找到a标签,单击
    driver.find_element_by_xpath('//*[@id="1"]/h3/a').click()
    #停一下,等待加载完毕
    time.sleep(2)
    #切换窗口,因为现在打开了一个窗口,目前还是在第1个窗口中
    driver.switch_to.window(driver.window_handles[1])
    for i in range(10):
        #执行js
        driver.execute_script("window.scrollTo(0,10000)")
        time.sleep(1)
    #获取页面html
    html = driver.page_source
    # 关闭
    driver.quit()
    #保存html
    with open("baidu.html","w",encoding="utf-8") as file:
        file.write(html)

    return html

if __name__ == '__main__':
    get_html()

2.3 保存HTML并查看是否保存成功

 


到这里,我们的保存工作就已经完成了,下面就需要对其进行解析了。

三、解析图片链接

3.1 前期分析

在此先给出所以能够爬取的图片URL,然后进行分析,如何得到

data-objurl="http://pic.jj20.com/up/allimg/1113/041620103S8/200416103S8-4-1200.jpg"
data-imgurl="https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1948216838,2050876637&fm=26&gp=0.jpg">
"hoverURL":"https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1948216838,2050876637&fm=26&gp=0.jpg"
"thumbURL":"https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1672252528,4061027335&fm=26&gp=0.jpg"
"middleURL":"https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1672252528,4061027335&fm=26&gp=0.jpg"

我们首先先把得到的html打印出来,然后通过查找URL,找到图片的URL即可

 


由于本次博主只以此两个URL为例,所以其他的都不在自行查找了。

在提取图片的URL之前,我们先查看下是不是我们所要的图片,随便打开一个
如:https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3026930057,3755157843&fm=26&gp=0.jpg


🆗,正是我们所需要的图片,下面就可以开始提取了。

3.2 正则提取URL

    #读数据
    with open("baidu.html", "r", encoding="utf-8") as file:
        html = file.read()
    #通过正则获取img url
    img_list1 = re.findall(r'data-objurl="(.*?)"', html)
    img_list2 = re.findall(r'data-imgurl="(.*?)"', html)
    #合并
    img_list1.extend(img_list2)
    print(img_list2)


现在我们先打开URL,看看能不能打开。


结果我们发现有的URL并不能打开,这是正常的,因为各种原因总会有某些URL无法打开,这时候我们先多找几个URL试验即可。


但是直接这样看的话,并不好看,这个时候我们需要把他遍历并打印所有的URL

    #替换部分不需要的字符
    img_list = map(lambda x:x.replace("amp;",""),img_list1)
    #遍历
    for img in img_list:
        print(img)
        time.sleep(random.random()*3)

然后查看结果


🆗,到这里我们所有需要分析的部分都已经分析完成了。

四、完整代码

# encoding: utf-8

from selenium import webdriver
from lxml import etree
import os
import time
import requests
import re
import random

headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
}

#创建文件夹
if not os.path.exists("./files/baidu"):
    os.makedirs("./files/baidu")


def get_html():
    # 控制chrome浏览器
    driver = webdriver.Chrome("./chromedriver/chromedriver.exe")
    #窗口最大化
    driver.maximize_window()
    # 输入网址
    driver.get("https://www.baidu.com/")
    # 找到文本框,输入文字
    driver.find_element_by_xpath('//*[@id="kw"]').send_keys("美女")
    #找到按钮,单击
    driver.find_element_by_xpath('//*[@id="su"]').click()
    #停一下,等待加载完毕
    time.sleep(2)
    #找到a标签,单击
    driver.find_element_by_xpath('//*[@id="1"]/h3/a').click()
    #停一下,等待加载完毕
    time.sleep(2)
    #切换窗口,因为现在打开了一个窗口,目前还是在第1个窗口中
    driver.switch_to.window(driver.window_handles[1])
    for i in range(10):
        #执行js
        driver.execute_script("window.scrollTo(0,10000)")
        time.sleep(1)
    #获取页面html
    html = driver.page_source
    # 关闭
    driver.quit()
    #保存html
    with open("baidu.html","w",encoding="utf-8") as file:
        file.write(html)

    return html


def get_data():

    #读数据
    with open("baidu.html", "r", encoding="utf-8") as file:
        html = file.read()
    #通过正则获取img url
    img_list1 = re.findall(r'data-objurl="(.*?)"', html)
    img_list2 = re.findall(r'data-imgurl="(.*?)"', html)
    #合并
    img_list1.extend(img_list2)
    #替换部分不需要的字符
    img_list = map(lambda x:x.replace("amp;",""),img_list1)
    #遍历
    for img in img_list:
        print(img)
        time.sleep(random.random()*3)
        #获取图片字节,可能被拦截,加上代理ip
        content = requests.get(img,headers=headers).content
        #文件的名字
        filename = "./files/baidu/{}".format(img.split("/")[-1])
        #文件写
        with open(filename,"wb") as file:
            file.write(content)

if __name__ == '__main__':
    get_html()
    get_data()


# data-objurl="http://pic.jj20.com/up/allimg/1113/041620103S8/200416103S8-4-1200.jpg"
# data-imgurl="https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1948216838,2050876637&fm=26&gp=0.jpg">
# "hoverURL":"https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1948216838,2050876637&fm=26&gp=0.jpg"
# "thumbURL":"https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1672252528,4061027335&fm=26&gp=0.jpg"
# "middleURL":"https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1672252528,4061027335&fm=26&gp=0.jpg"

五、爬取结果

 


但是! 我们这样爬取的话,过一段时间就会被识别出来。如下图:


这个时候,我们最好加上代理IP 。进行循环爬取。

六、修改版源码(加上代理IP)

# encoding: utf-8

from selenium import webdriver
from lxml import etree
import os
import time
import requests
import re
import random

headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
}

#创建文件夹
if not os.path.exists("./files/baidu"):
    os.makedirs("./files/baidu")


def get_html():
    # 控制chrome浏览器
    driver = webdriver.Chrome("./chromedriver/chromedriver.exe")
    #窗口最大化
    driver.maximize_window()
    # 输入网址
    driver.get("https://www.baidu.com/")
    # 找到文本框,输入文字
    driver.find_element_by_xpath('//*[@id="kw"]').send_keys("哆啦A梦图片")
    #找到按钮,单击
    driver.find_element_by_xpath('//*[@id="su"]').click()
    #停一下,等待加载完毕
    time.sleep(2)
    #找到a标签,单击
    driver.find_element_by_xpath('//*[@id="1"]/h3/a').click()
    #停一下,等待加载完毕
    time.sleep(2)
    #切换窗口,因为现在打开了一个窗口,目前还是在第1个窗口中
    driver.switch_to.window(driver.window_handles[1])
    for i in range(10):
        #执行js
        driver.execute_script("window.scrollTo(0,10000)")
        time.sleep(1)
    #获取页面html
    html = driver.page_source
    # 关闭
    driver.quit()
    #保存html
    with open("baidu.html","w",encoding="utf-8") as file:
        file.write(html)

    return html


def get_proxies():
    #这里获取的芝麻HTTP代理http https\\
    time.sleep(2+random.random()*3)
    proxies = {
        "http": "",
        "https": ""
    }
    url = "http://http.tiqu.alicdns.com/getip3?num=1&type=2&pro=&city=0&yys=0&port=11&time=1&ts=0&ys=0&cs=1&lb=1&sb=0&pb=45&mr=1&regions="
    response = requests.get(url)
    content = response.json()
    proxies["https"] = content["data"][0]["ip"]+":"+str(content["data"][0]["port"])
    return proxies

def get_content(url):
    """发送请求获取数据"""

    #如果报错,停一会,再发,有10次机会,否则返回空字节
    for i in range(5):
        try:
            # 获取图片字节,可能被拦截,加上代理ip
            return requests.get(url, headers=headers, proxies=get_proxies()).content
        except:
            print(url, "失败,尝试第{}次".format(i + 1))
            time.sleep(random.random()*5)

    return b""

def get_data():

    #读数据
    with open("baidu.html", "r", encoding="utf-8") as file:
        html = file.read()
    #通过正则获取img url
    img_list1 = re.findall(r'data-objurl="(.*?)"', html)
    img_list2 = re.findall(r'data-imgurl="(.*?)"', html)
    #合并
    img_list1.extend(img_list2)
    #替换部分不需要的字符
    img_list = map(lambda x:x.replace("amp;",""),img_list1)
    #遍历
    for img in img_list:
        print(img)
        content = get_content(url=img)
        #文件的名字
        filename = "./files/baidu/{}".format(img.split("/")[-1])
        #文件写
        with open(filename,"wb") as file:
            file.write(content)

if __name__ == '__main__':
    #get_html()
    get_data()

美好的日子总是短暂的,虽然还想继续与大家畅谈,但是本篇博文到此已经结束了,如果还嫌不够过瘾,不用担心,我们下篇见

 

浏览器中的data类型的Url格式 data:image/png,data:image/jpeg! 所谓 data 类型的Url格式,是在RFC2397中 提出的,目的对于一些 小 的数据,可以在网页中直接嵌入,而不是从外部文件载入 立即下载

相关推荐

用SPSS做信效度分析

对问卷进行Cronbach’s Alpha信度检验。如果此值高于0.8,则说明信度高;如果此值介于0.7-0.8之间,则说明信度较好;如果此值介于0.6~0.7,则说明信度可接受;如果此值小于0.6,说明信度不佳。下面利用SPSS进行分析,点击分析–标度–可靠性分析选项,选中所要分析的问卷数据或题目。得到结果,我们要看这个有用的结果,当克隆巴赫Alpha系数(也可以看标准化后的)大于0.8时候,说明问卷信度较高。

小高~的博客 1万+

爬虫入门经典(十五) | 邪恶想法之爬取百度妹子图

  大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行更新,博客主页:https://buwenbuhuo.blog.youkuaiyun.com/。 PS:由于现在越来越多的人未经本人同意直接爬取博主本人.

不温卜火 4万+

基于MicroPython的ESP32与微信小程序MQTT通信实战

本文详细介绍了基于MicroPython的ESP32与微信小程序通过MQTT协议实现远程控制的完整实战方案。项目利用巴法云作为免费MQTT服务器,提供了从设备端编程、小程序开发到通信调试的全流程指南,帮助开发者快速构建低成本、易上手的物联网应用,如智能开关、传感器监控等。

week9的博客 632

简单爬虫实现

1 环境 本操作使用Linux Ubuntu18.04,自带Python 3.6.8,首先安装pip用以下载py库: apt-get install python3-pip 使用request库和Beautifulsoup库,使用pip获得该库,如: pip install beautifulsoup4 2 相关库 2.1 request库 request库用于发送网络请求。 ...

sinat_39528691的博客 476

基于FFmpeg与Nginx的大华摄像头实时视频Web接入方案

本文详细介绍了一种基于FFmpeg与Nginx的大华摄像头实时视频Web接入方案。该方案通过FFmpeg将摄像头RTSP协议流转换为浏览器友好的HLS格式,并利用Nginx进行高效分发,最终结合Video.js构建前端播放页面,实现无需插件的跨平台实时监控。方案具有免费、轻量、稳定、易于部署的特点,适合中小企业、个人开发者快速搭建内部监控或展示系统。

weixin_28040125的博客 344

MySQL下载和安装教程

1.下载MySQL数据库可以访问官方网站:https://www.mysql.com/ 2.点击DOWNLOADS模块下的Community模块下的MySQL Community Server进行下载。 由于目前最新版本是:MySQL Community Server 5.7.21 建议博友下载历史版本,本博下载的是5.6.39 下载步骤: 进入,选择MySQL的版本及主机 根据自己的电脑选择相应的位数进行下载,本机是64位,点击download。 进入下.

残雪的剑的博客 4万+

【转】浏览器中的data类型的Url格式,data:image/png,data:image/jpeg!

所谓"data"类型的Url格式,是在RFC2397中 提出的,目的对于一些“小”的数据,可以在网页中直接嵌入,而不是从外部文件载入。例如对于img这个Tag,哪怕这个图片非常非常的小,小到只有一个 点,也是要从另外一个外部的图片文件例如gif文件中读入的,如果浏览器实现了data类型的Url格式,这个文件就可以直接从页面文件内部读入了。 data类型的Url格式早...

dianzongliao7933的博客 1万+

保姆级教程:用北醒TFmini-i-CAN雷达给PixHawk飞控加装‘眼睛’,实现自动避障与定高

经过多次测试,前向雷达的最佳安装位置是机架前部下方5-10cm处,倾斜角度20-30度。电源方面,建议为CAN设备单独供电,避免电机启动时的电压骤降导致数据异常。北醒TFmini-i-CAN雷达与PixHawk飞控的组合,为DIY爱好者打开了低成本实现智能避障的大门。实际部署时,需确保整个CAN网络的波特率一致(TFmini-i默认为250kbps),每个设备具有唯一ID。雷达的安装角度也直接影响检测效果,建议通过3D打印支架将雷达向前下方倾斜15-30度。当使用多个雷达时,需为每个设备创建独立的参数组。

weixin_30892889的博客 337

python pdf和图片互转

1.安装两个包 pip install PyMuPDF PySimpleGUI 2.pdf转图片 import fitz def pdf2img(pdf_path, img_dir): doc = fitz.open(pdf_path) # 打开pdf for page in doc: # 遍历pdf的每一页 zoom_x = 2.0 # 设置每页的水平缩放因子 zoom_y = 2.0 # 设置每页的垂直缩放因子 mat =

什么都干的派森 9410

STM32智能小车控制舵机转向

文章目录前言一、舵机简单介绍及接线方式二、cubeMX配置三、代码解析总结 前言 本文将带大家学习如何驱动舵机转向 一、舵机简单介绍及接线方式 信号线(黄线)红线(电源线)棕色(地线) 舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围内的角度控制脉冲部分,总间隔为2ms。以180度角度伺服为例,那么对应的控制关系是这样的: 0.5ms--------------0度; 1.0ms------------45度; 1.5ms------------90度; 2

m0_49476241的博客 8612

34、Text2KGBench与GeoQuestions1089:知识图谱生成与地理空间问答的新进展

本文介绍了Text2KGBench和GeoQuestions1089在知识图谱生成与地理空间问答领域的最新进展。Text2KGBench提供了一个开放且可复现的基准,用于从文本生成知识图谱,并结合多个LLM模型和评估工具推动研究。GeoQuestions1089是目前最大的地理空间问答数据集,与GeoQA2系统结合,推动了地理空间问答系统的发展。文章还探讨了技术挑战和未来研究方向,包括多模态知识图谱生成和深度学习优化的地理空间问答系统。

css33的专栏 114

python模块之image修改图片类型

python模块之image修改图片类型 有时候我们需要不同格式的图片后缀格式,如:png,jpg,如果仅仅手动修改图片的后缀的话,只是表面修改了后缀格式,其实图片的原类型仍然没有变化,可以用python中的imghdr模块来进行检验图片真正的格式,参考博文:https://blog.youkuaiyun.com/weixin_44799217/article/details/113686691,所以呢,我们可以使用python中PIL模块中的Image修改我们想要的文件类型。 如: 这几张图片是png格式的

IT之一小佬的博客 1668

【图像超分】论文复现:Pytorch实现ESPCN

论文精读:由于ESPCN没有公布源码,我们选择github上一个高star的项目来复现。准备数据集,以及数据预处理搭建网络模型设置参数并训练测试训练好的模型用训练好的模型测试自己的数据本文我们使用pycharm链接服务器训练。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 1万+

python3爬妹子图_python3爬妹子图

pythonScrapy批量采集妹子图网的图片这部分相当有用,咱们不多说,目前是2016.6.22日亲测可用.环境方面是linux_ubuntu_15.04python_scrapy的环境搭建有问题请看之前的scrapy笔记代码在:githubhttps://github/luyishisi/WebCrawlers/tree/master/scrapy_code/meizitu先上最终截图,有动力...

weixin_39852953的博客 193

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

如何用python爬取图片_小哈哈 带你用python爬取妹子图,接稳这波福利

小哈哈 带你用python爬取妹子图,接稳这波福利数据采集爬取图片之前我们先来看看最近编程语言流行指数(PYPL)排行榜近日公布了2019年2月份榜单。余生皆欢喜在最新一期榜单上,Python的份额高达26.42%,稳居第一,并且猛增5.2%,同时成为增长势头最好的语言。而被挤到第二的Java,目前份额为21.2%,同比下跌1.3个百分点 。01话不多说,直接上图圈内知名网站Stack ...

weixin_39622138的博客 158

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Python爬虫都被你用来爬妹子图了,我等羞愧与之为伍!

大家好,我是辣条。 今天主要分享一个粉丝朋友找我帮他爬一个妹子图网站,不过网站图片尺度比较大,所以也不留链接了,虽然比较简单,但还是很有学习意义的,我这绝不是水文章!学习的事当然要分享给大家。 效果展示 采集数据目标 网站:不提供(狗头保命,防止进小黑屋) 工具使用 开发工具:pycharm 开发环境:python3.7, Windows10 使用工具包:requests,lxml 重点学习内容 requests工具使用 xpath提取网...

五包辣条的博客 5271

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python Scrapy爬虫,整站爬取妹子图

Python Scrapy爬虫,听说妹子图挺火,我整站爬取了,上周一共搞了大概8000多张图片。和大家分享一下。 项目地址:https://github.com/ZhangBohan/fun_crawler 标签: Python Scrapy Github 代码片段(3)[全屏查看所有代码] 1. [图片] 0000.jpeg

Enn的数据库 3190

python多线程url采集器 + github_利用Python3.5多线程抓取妹子图

很久之前就写了这个爬妹子图的Python爬虫,并且开源到Github上,然而居然没有人给小心心,虽然现在失效了,妹子图网站开启了反爬虫机制,但还是可以作为大家学习的样例,注释也很清晰。0x01 起因很多人一开始学习编程技术都是源于兴趣,小东当时看到某博主,居然用Python爬虫批量下载图片,当时就给我震惊了于是瞬间激发了我的学习兴趣,最后也就促成了这个GetMM爬虫项目。0x02 分析拿到妹子图的...

weixin_39871378的博客 299

python 妹子图抓取

import requests import re headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36", "referer": "https...

Big Data 3021

利用Python爬虫网上的漂亮妹子图

最近学完Python,写了几个爬虫练练手,网上的教程有很多,但是有的已经不能爬了,主要是网站经常改,可是爬虫还是有通用的思路的,即下载数据、解析数据、保存数据。下面一一来讲。 1.下载数据 首先打开要爬的网站,分析URL,每打开一个网页看URL有什么变化,有可能带上上个网页的某个数据,例如xxID之类,那么我们就需要在上一个页面分析HTML,找到对应的数据。如果网页源码找不到,可能是ajax异步加载,去xhr里去找。 有的网站做了反爬的处理,可以添加User-Agent :判断浏览器 self.user_

program_G的博客 627

Python 爬取妹子图(技术是无罪的)

... import requests from bs4 import BeautifulSoup import os import sys class mzitu(): def html(self, href): html = self.request(href) a = BeautifulSoup(html.text, ...

aibeng2705的博客 178

Python爬虫 - scrapy - 爬取妹子图 Lv1

0. 前言 这是一个利用python scrapy框架爬取网站图片的实例,本人也是在学习当中,在这做个记录,也希望能帮到需要的人。爬取妹子图的实例打算分成三部分来写,尝试完善实用性。 系统环境 System Version:Ubuntu 16.04Python Version:3.5.2Scrapy Version:1.5.0 1. 建立...

weixin_33862514的博客 318

使用threading模块创建多线程爬取妹子图网站图集

Python多线程 多线程类似于同时执行多个不同程序,可以让程序的运行速度加快,在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,可以释放一些珍贵的资源如内存占用等等。对于像妹子图这样的图片网站中大量图集的爬取,采用多线程能够大大提高图片的采集速度。 Python中使用线程有两种方式:函数或者用类来包装线程对象。本文使用Threading模块创建多线程...

L_turn的博客 887

python爬煎蛋妹子图--20多行代码搞定煎蛋妹子图库

如果说一个人够无聊的话。。。 就会做一些十分美(wei)丽(suo)的事情啦哈哈哈。。。 好的,话不多说,进入正题。 正如标题所示,我们今天的目标很简单: 代码要少,妹子要好。 步骤如下: 1. 首先我们得确定需要用到的库: 就requests吧,我们首先尝试向煎蛋(http://jiandan.net/ooxx)发起get请求 (当然心里希望不需要加头部信息...

bading8536的博客 318

女朋友看了我写的项目,说太牛逼了,于是分享了出来

点击▲关注 “爪哇笔记” 给公众号标星置顶更多摄影技巧第一时间直达前言好多小伙伴问,撸主哪来的那么多妹子,妹子图小程序是怎么做的,后台又是怎么管理的,今天就倾囊相授给各位小伙伴,干...

不是太高的手的专栏 434

使用scrapy爬取某瓣妹子图片

爬取某瓣大熊妹子图片 需要源码私我 第一次写博客,刚接触scrapy(写的不好,多多见谅) 本人还是本着技术为主(fu),妹子为辅(zhu)的目的来学习的 爬虫的路上,一定不满足于使用requests+解析器来实现,这时候scrapy出现了,选择哪种还是得根据需求来,不必拘泥固定模式。scrapy对于小型任务来讲还是不错的,省去了自己码多线程,异步的时间,需要手写的也就解析跟管道处理两块。 话不多...

qq_43135333的博客 377
上一篇: Python爬虫实战,采集高德地图信息
下一篇: 用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了
Python_sn
博客等级 码龄6年 324粉丝 290原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值