selenium爬虫框架爬取某壁纸网站

这篇具有很好参考价值的文章主要介绍了selenium爬虫框架爬取某壁纸网站。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基础知识

环境配置

开始爬虫

简单分析目标网站

写函数

获取浏览器对象:

下载每一张图片:

获取每一页的源代码:

运行print_result_every_page


基础知识

  1. python基础语法
  2. 面向对象基础
  3. html基础
  4. xpath基础
  5. selenium框架的基本使用

环境配置

  1. request库
    pip install request ‐i https://pypi.douban.com/simple
  2. lxml库
    pip install lxml ‐i https://pypi.douban.com/simple

     3.安装浏览器xpath插件

        打开谷歌浏览器扩展

selenium爬虫框架爬取某壁纸网站

selenium爬虫框架爬取某壁纸网站

 将压缩包拖进扩展程序界面

会出现报错信息,一定要点进去之后删除,然后重启浏览器,ctrl+shift+x打开xpath插件,作用如图(语法可以自行查看别人的博客):

selenium爬虫框架爬取某壁纸网站

开始爬虫

目的:爬取“美女图片”分类下的所有图片

这次爬虫主要就是用selenium驱动真实浏览器(可以无界面运行)对目标网站进行请求,然后得到网页源代码,通过xpath进行解析,得到目标图片的url以及名称

简单分析目标网站

首先,进入想爬取的网站之后,找一个目标分类,F12打开开发者工具,选中一张图片,查看其所在源代码前面的标签,然后写出xpath解析

//img/@data-original

selenium爬虫框架爬取某壁纸网站

 之后的名字也同样在一个标签下:

//img/@alt

确定这两个xpath解析没有问题之后,然后再看一下 下一页的链接:

https://www.bizhi88.com/c1/2.html

之后直接跳到最后:

https://www.bizhi88.com/c1/25.html

但是有一个问题就是,刚开始进来的时候第一页的连接是:

https://www.bizhi88.com/c1/

我感觉,这可能是个反爬吧hh,不过没关系,输入链接:

https://www.bizhi88.com/c1/1/html

之后我发现还是可以访问第一页

那就不管了,反正selenium可以驱动无界面浏览器。

写函数

获取浏览器对象:

注意path要改成你的浏览器的路径

from selenium import webdriver
from selenium.webdriver.chrome.options import Options


def get_browser():
    chrome_options = Options()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--disable-gpu')
    path = r'C:\Program Files\Google\Chrome\Application\chrome.exe'
    chrome_options.binary_location = path
    bro = webdriver.Chrome(chrome_options=chrome_options)
    return bro

下载每一张图片:

import urllib.request


def download_img(url, name):
    urllib.request.urlretrieve(url, name)

url是每一张图片的地址,name是刚刚说的alt下的文本

获取每一页的源代码:

from lxml import etree


def print_result_every_page(index):
    browser = get_browser()
    browser.get(base_url+str(index)+'.html')
    content = browser.page_source
    tree = etree.HTML(content)
    result = tree.xpath('//img/@data-original')
    name = tree.xpath('//img/@alt')
    for le in range(0, len(result)):
        print("downloading:"+name[i])
        download_img(result[le], './downloads/'+name[le]+'.jpg')
        print("Over!")
        print()

base_url 是一个全局变量

base_url = 'https://www.bizhi88.com/c1/'

index是传入的页码

至于download_img(result[le], './downloads/'+name[le]+'.jpg')中的文件名:

./downloads是将下载的图片存在和代码文件同一目录下的文件夹中,以便管理

运行print_result_every_page


for i in range(1, 26):
    print('downloading page' + str(i))
    print_result_every_page(i)


print("ALL OVER!!!")

建议看的爬虫网课文章来源地址https://www.toymoban.com/news/detail-453907.html

到了这里,关于selenium爬虫框架爬取某壁纸网站的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 爬虫不会写?找ChatGPT不就完了,实战爬取某手办网~~~

    💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互

    2024年02月04日
    浏览(36)
  • 爬虫项目实战:利用基于selenium框架的爬虫模板爬取豆瓣电影Top250

    👋 Hi, I’m @货又星 👀 I’m interested in … 🌱 I’m currently learning … 💞 I’m looking to collaborate on … 📫 How to reach me … README 目录(持续更新中) 各种错误处理、爬虫实战及模板、百度智能云人脸识别、计算机视觉深度学习CNN图像识别与分类、PaddlePaddle自然语言处理知识图谱、

    2024年02月04日
    浏览(49)
  • Java爬虫爬取图片壁纸

    以 sougou 图片为例: https://pic.sogou.com/ JDK17、SpringBoot3.2.X、hutool5.8.24实现Java爬虫,爬取页面图片 开发工具: IDEA2023.2.5 JDK: Java17 SpringBoot: 3.2.x 通过 SpringBoot 快速构建开发环境,通过 Jsoup 实现对网页的解析,并获取想要的资源数据 使用 hutool 工具,将所需要的字符串转成 J

    2024年01月17日
    浏览(46)
  • 爬虫之牛刀小试(十):爬取某宝手机商品的销量,价格和店铺

    首先淘宝需要登录,这一点如果用selenium如何解决,只能手动登录?如果不用selenium,用cookies登录也可。但是验证码又是一个问题,现在的验证码五花八门,难以处理。 我们回到正题,假设你已经登录上淘宝了,接着我们需要找到输入框和搜索按钮,输入“手机”,点击搜索

    2024年04月10日
    浏览(62)
  • vscode 编写爬虫爬取王者荣耀壁纸

    网上关于爬虫大部分教程和编辑器用的都不是vscode ,此教程用到了vscode、Python、bs4、requests。 vscode配置Python安装环境可以看看这个大佬的教程 03-vscode安装和配置_哔哩哔哩_bilibili vscode配置爬虫环境可以参考这个大佬的教程【用Vscode实现简单的python爬虫】从安装到配置环境变

    2024年02月04日
    浏览(49)
  • 使用爬虫爬取百度搜索结果及各网站正文(request库、selenium库和beautifulsoup库)

    任务: 给定搜索词,获取百度搜索结果 根据各项结果获取对应网站正文部分 header实际为一个字典,为访问百度时提供必要的信息。 一般来讲只需要提供 Cookie 就可以访问大多数网站,其余可能需要的还有 Host 、 User-Agent 等 通过分析百度搜索url可以发现 https://www.baidu.com/s?wd=茅

    2024年03月27日
    浏览(54)
  • 【nodejs】用Node.js实现简单的壁纸网站爬虫

    在这个博客中,我们将学习如何使用Node.js编写一个简单的爬虫来从壁纸网站获取图片并将其下载到本地。我们将使用Axios和Cheerio库来处理HTTP请求和HTML解析。 首先,确保你已经安装了Node.js环境。然后,我们将创建一个新的文件夹,初始化项目并安装所需的依赖库: 编写爬虫

    2024年02月12日
    浏览(47)
  • 【python+selenium】LOL全英雄全皮肤爬虫--给电脑每天换张壁纸

    很多英雄联盟的元老级玩家都认可 LOL 的美工做得很好,不乏玩家将英雄的皮肤设为手机、电脑的壁纸或个人社交账号的头像。 作为 LOL 发烧友,如果想每天换一张电脑壁纸,该如何爬取 LOL 全英雄的全部皮肤呢?由于皮肤数量过多,最好能按英雄名分文件夹存储,找起来也比

    2024年02月15日
    浏览(48)
  • 爬虫机试题-爬取新闻网站

    之前投简历时遇到了这样的一个笔试。本以为会是数据结构算法之类的没想到直接发了一个word直接提需求,感觉挺有意思就写了这篇文章,感兴趣的朋友可以看看。 通过分析页面结构我们得以知道,这个页面本身没有新闻信息,是由js代码执行后才将信息插入到html中的,因

    2024年04月25日
    浏览(37)
  • 【爬虫】python爬虫爬取网站页面(基础讲解)

    👉博__主👈:米码收割机 👉技__能👈:C++/Python语言 👉公众号👈:测试开发自动化【获取源码+商业合作】 👉荣__誉👈:阿里云博客专家博主、51CTO技术博主 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 1. 导入必要的库 requests 库用于发送HTTP请

    2024年02月08日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包