用python爬虫爬取照片

news/2024/7/19 10:07:15 标签: python, 爬虫

网页都有自己唯一的URL;

网页都是HTML来描述页面信息;

网页都使用Http/Https协议来传输Html数据爬虫的设计思路;

requests作为请求头

PyQuery使用于解码网页信息

os作为创建文件

------------------------------------------------------------------------------------------------------                                                                               
import requests  # 要求,请求
from pyquery import PyQuery  # 解码
import os  # 创建文件

# 反爬
# 设置用户
def get_content(url):
    # 设置请求头--模拟成浏览器去访问
    headers={
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6824.400 QQBrowser/10.3.3137.400"
    } 
    # 整个网站是get请求,故使用request.get  content.decode("utf-8")适用于解码文件
    # 射之前请求网站 - 解码
    html = requests.get(url, headers=headers).content.decode("utf-8")
    # print(html)
    # requests.get(url)
    # 加载html代码
    pq_html = PyQuery(html)
    # id 和 class标签  == id--#号   class--
    # items是条目生成器,可用迭代for循环
    # <li class="span3"> 
    span3_items = pq_html(".span3").items()
    # print(span3_items)
    for item in span3_items:
        # print(item)
        # 向下查找 层层查询   attr:  追加
        url_img = item.find("img").attr("src")
        name = item.find("img").attr("title")
        download_img = requests.get(url_img, headers=headers).content
        print(name, url_img)
        # 打开这个文件,把下载的文件保存在给文件中
        with open("03-02-爬girl/" + name + '.jpg', 'wb') as file:
            file.write(download_img)

# 程序入口
if  __name__ == '__main__':
    # os是创建 getcwd是当前绝对路径  path是路径  join是拼接
    file_name = os.path.join(os.getcwd(),'03-02-爬girl')
    # 判断当前的路径是否存在
    if not os.path.exists(file_name):
        # 如果不存在 就创建路径
        os.makedirs(file_name)
    url="https://www.dbmeinv.com/?pager_offset=2"
    get_content(url)


http://www.niftyadmin.cn/n/920585.html

相关文章

爬虫爬起点小说

起点小说&#xff1a;&#xff08;空山老师授课所记得笔记&#xff09;&#xff08;VIP暂不能爬取&#xff09; 小说名 章名 文章内容 文件夹 文章内容 《--》 1、请求网站拿到数据&#xff0c;抽取小说名创建文件夹&#xff0c;抽取小说链接 2、请求小说拿到数据&#…

Hhml 標題 閃爍

1.添加一個jq擴展 <script type"text/javascript"> (function ($) { $.extend({ /** * 调用方法&#xff1a; var timerArr $.blinkTitle.show(); * $.blinkTitle.clear(timerAr…

python安装包更新与问题解决

1、查询python安装包&#xff08;windos&#xff09; pip list 可以查询所有已安装的包和版本。怎么知道本地安装包的版本是否有可以更新的新版本呢&#xff1f;通过pip list函数可以实现。具体实现方式如下&#xff1a; pip list --outdated --formatlegacy pip list --outd…

jQuery Ajax 实例 全解析

jQuery确实是一个挺好的轻量级的JS框架&#xff0c;能帮助我们快速的开发JS应用&#xff0c;并在一定程度上改变了我们写JavaScript代码的习惯。 废话少说&#xff0c;直接进入正题&#xff0c;我们先来看一些简单的方法&#xff0c;这些方法都是对jQuery.ajax()进行封装以方便…

关于php操作windows计划任务管理

$cmd"schtasks /create /tn anrainie11-03-23 /tr rec.php /sc MINUTE /mo 10"; system($cmd,$i); 这样的一条命令&#xff0c;总是得不出正确的结果&#xff0c;查看apache_error.log (43,4):LogonType:错误: 帐户名与安全标识间无任何映射完成。 好了&#xff0c…

ST-LINK安装

ST-LINK安装 打开你自己安装的keil&#xff0c;并打开根据如图所示点击安装&#xff0c;pack installer 安装STM32F1xx_DFP。下载完成后&#xff0c; 在keil安装录..:\ProgramFiles\keil5\ARM\Pack\Keil\STM32F1xx_DFP\2.0\Flash中复制文件夹下的所有.FLM文件&#xff08;如ST…

visual studio2013中C1083 无法打开包括文件: “opencv2/opencv.hpp”: No such file or directory 和OpenCV3.3安装教程分享

visual studio2013中C1083 无法打开包括文件: “opencv2/opencv.hpp”: No such file or directory和OpenCV3.3安装教程 解决办法&#xff1a; 1、在属性管理器中&#xff0c;右键Debug|x64&#xff0c;点击属性&#xff0c;再按opencv3.3的配置步骤&#xff0c;把“VC目录”…

socket单工聊天工具

根据核心编程里的代码&#xff0c;自己改编的socket聊天工具 ####client####from socket import *HOSTlocalhostPORT21567BUFSIZ1024ADDR(HOST,PORT)while True: tcpCliSocksocket(AF_INET,SOCK_STREAM) tcpCliSock.connect(ADDR) dataraw_input(input your words:)if…