如何用Python写个网页爬取程序

news/2024/4/25 9:29:21/文章来源:https://blog.csdn.net/qq_40673786/article/details/131020600

如何用Python写个网页爬取程序

  • 准备开发工具
  • 安装Python
  • Python安装pip
  • Pip安装爬取插件
  • 准备好网页地址
  • 代码实现

准备开发工具

额,作者用的是vscode。具体怎么安装自行百度哈,这个都不会建议就不要学爬取了。
不忍心藏着也,给你个方法吧

  • vscode下载
  • windows如何安装vscode

安装Python

怎么安装?这个不会建议也不要学爬取了。算了出于善良,给你们指条明路。

  • windows如何下载Python
  • 如何配置Python环境变量
  • vscode如何配置Python开发环境

Python安装pip

在开发工具配置好py环境后直接上代码就完事了。

 python.exe -m pip install --upgrade pip //py 更新pippython.exe -m pip install  //py 安装pippy -m pip install  //这是一个缩写格式

Pip安装爬取插件

为了快速讲解,直接上代码吧

pip install requests //安装请求插件
pip install beautifulsoup4  //直接抽取图片内容的插件

准备好网页地址

知道你们想偷懒,送你们了,不谢

https://www.vcg.com/creative/

代码实现

我们知道网页中图片的格式一般是

<img src="https://xxx.com/xx.jpg/img/png/webp">

但很不幸有些网站的内容并非如此,我们来看下如下代码爬取的内容

import requests
url = "https://www.vcg.com/creative/"
response = requests.get(url)
if response.status_code == 200:content = response.content.decode("utf-8")print(content)
else:print("Failed to retrieve content from", url)

在这里插入图片描述
网页中图片居然是这种格式显示的

<source data-srcset="//alifei01.cfp.cn/cms/image/image/90bdf6ac7070416ca036f869617512f1.jpg?x-oss-process=image/format,jpg" type="image/jpg"/>

针对上诉该如何是好呢?
这个就要用到我们上诉安装的beautifulsoup4 抽取图片连接的工具,来看看怎么用吧。先给你们看下效果,不懂再看下方解释
在这里插入图片描述

代码解释

import requests
from bs4 import BeautifulSoup
url = "https://www.vcg.com/creative/"
response = requests.get(url)
if response.status_code == 200:
# 获取网页内容html = response.content# 解析html格式网页,可以是其他格式soup = BeautifulSoup(html, 'html.parser')# 根据图片标签获取标签属性内容。正常情况都是<img src="">这种,而我们的是<source data-srcset="">#img_tags = soup.find_all('img')img_tags = soup.find_all('source')for img in img_tags:print(img['src'])# print(img['data-srcset'])
else:print("Failed to retrieve content from", url)

当然通过上诉代码我们可以爬取不同的网页格式内容。以及多种格式的标签图片,我们取个并集就好了。

爬取的内容

//alifei02.cfp.cn/cms/image/image/58eab40df6b7477781340130f124724d.jpg?x-oss-process=image/format,webp
//alifei02.cfp.cn/cms/image/image/58eab40df6b7477781340130f124724d.jpg?x-oss-process=image/format,jpg
//alifei03.cfp.cn/cms/image/image/247d928e210c42f5897d2ca9d325a8ad.jpg?x-oss-process=image/format,webp
//alifei03.cfp.cn/cms/image/image/247d928e210c42f5897d2ca9d325a8ad.jpg?x-oss-process=image/format,jpg
//alifei04.cfp.cn/cms/image/image/17f075e1c19f40cfaf3b3f7e16df211e.jpg?x-oss-process=image/format,webp
//alifei04.cfp.cn/cms/image/image/17f075e1c19f40cfaf3b3f7e16df211e.jpg?x-oss-process=image/format,jpg
//alifei05.cfp.cn/cms/image/image/0060aa0e0c0f45fdbb4127167bff2a34.jpg?x-oss-process=image/format,webp
//alifei05.cfp.cn/cms/image/image/0060aa0e0c0f45fdbb4127167bff2a34.jpg?x-oss-process=image/format,jpg
//alifei01.cfp.cn/cms/image/image/b437cf301cd2488e8c9a9c6082605bfa.jpg?x-oss-process=image/format,webp
//alifei01.cfp.cn/cms/image/image/b437cf301cd2488e8c9a9c6082605bfa.jpg?x-oss-process=image/format,jpg
//alifei02.cfp.cn/cms/image/image/7a437c929f2e43a9bc808054f27c984a.jpg?x-oss-process=image/format,webp
//alifei02.cfp.cn/cms/image/image/7a437c929f2e43a9bc808054f27c984a.jpg?x-oss-process=image/format,jpg
//alifei03.cfp.cn/cms/image/image/23b3a51cd24547a7b9573f39ebb88d39.jpg?x-oss-process=image/format,webp
//alifei03.cfp.cn/cms/image/image/23b3a51cd24547a7b9573f39ebb88d39.jpg?x-oss-process=image/format,jpg
//alifei01.cfp.cn/cms/image/image/4b5bb2f1faff4b148e92225adbf696fe.jpg?x-oss-process=image/format,webp
//alifei01.cfp.cn/cms/image/image/4b5bb2f1faff4b148e92225adbf696fe.jpg?x-oss-process=image/format,jpg
//alifei02.cfp.cn/cms/image/image/756a48a633c54bf89de525cf28ed411c.jpg?x-oss-process=image/format,webp
//alifei02.cfp.cn/cms/image/image/756a48a633c54bf89de525cf28ed411c.jpg?x-oss-process=image/format,jpg

假设我们取第一条

//alifei02.cfp.cn/cms/image/image/58eab40df6b7477781340130f124724d.jpg?x-oss-process=image/format,webp

这个在网页怎么访问??
很简单做个字符串的截取拼接就好了,去掉// 拼接https 去掉参数。如下

https://alifei02.cfp.cn/cms/image/image/58eab40df6b7477781340130f124724d.jpg

假设我们循环存入数据库。。。【奸笑且猥琐】
可是版权怎么办。。。【开始垂头丧气】
不管了,为了理想。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。
也不可以做违法的事。。。。。。。。。。。。。。
自己用用就好,除非人家给你版权了,那我们大可放开手脚的干

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_310831.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Javascript的闭包,匿名函数,自动调用

这里写目录标题 验证文本框HTMLJavascript分析var引起的赋值错误最优的解决方案forEach(function(item){})最简单的方式&#xff0c;const/let 申明一个局部变量直接使用函数通过声明函数变量的方式定义函数申明匿名函数和自动调用函数的区别 在案例的基础上分析。 验证文本框 …

90后测试员:“入职阿里,这一次,我决定不跳槽了...”

所谓“舒适”生活 记得上一份工作是去年听从了朋友的意见&#xff0c;“你一定要找一份舒适的工作&#xff0c;这样你一天就有好多时间玩&#xff0c;好多时间干自己想干的事情&#xff0c;摸鱼真香&#xff01;” 在这份“教导”下&#xff0c;开始了我的找工作之旅&#xf…

内网穿透技术

文章目录 前言1. 安装JAVA2. MCSManager安装3.局域网访问MCSM4.创建我的世界服务器5.局域网联机测试6.安装cpolar内网穿透7. 配置公网访问地址8.远程联机测试9. 配置固定远程联机端口地址9.1 保留一个固定tcp地址9.2 配置固定公网TCP地址9.3 使用固定公网地址远程联机 转载自内…

【正点原子STM32连载】 第二十五章 TFT-LCD(MCU屏)实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第二十…

没有硬件资源?免费使用Colab搭建你自己的Stable Diffiusion在线模型!保姆级教程...

部署 Stable Diffusion 需要一定的硬件资源&#xff0c;具体取决于要处理的图像大小和处理速度等因素。一般来说&#xff0c;至少需要一台具有较高计算能力的服务器&#xff0c;而对 GPU 的高要求就限制了我们学习和使用SD来生成我们想要的图像。 GPU是深度学习开发的重要硬件条…

chatgpt赋能python:Python列表分割与排序:完美解决数据处理问题

Python列表分割与排序&#xff1a;完美解决数据处理问题 在Python的开发实践中&#xff0c;数据处理是一项必不可少的操作。列表&#xff08;list&#xff09;是Python语言中常用的数据类型之一&#xff0c;列表中的元素可以是任意类型。列表的分割和排序是Python中常见的操作…

数字孪生:数字世界与现实世界的交汇

数字孪生是一种崭新的技术,指将现实世界中的物理实体、系统或过程通过数字化技术在虚拟数字世界中建立起虚拟模型。数字孪生可以帮助人们以更小的成本地理解和预测现实世界中的物理实体、系统或过程的行为和性能,从而提高生产效率、降低成本、减少风险等。 如今数字孪生技术…

【CSS3系列】第三章 · CSS3新增边框和文本属性

写在前面 Hello大家好&#xff0c; 我是【麟-小白】&#xff0c;一位软件工程专业的学生&#xff0c;喜好计算机知识。希望大家能够一起学习进步呀&#xff01;本人是一名在读大学生&#xff0c;专业水平有限&#xff0c;如发现错误或不足之处&#xff0c;请多多指正&#xff0…

【Python 文本分析】零基础也能轻松掌握的学习路线与参考资料

Python 常用的文本分析工具有很多&#xff0c;如 Natural Language Toolkit (NLTK)、TextBlob、spaCy、Jieba等。本文将分别介绍这些工具及其对应的学习路线、参考资料和优秀实践。 Natural Language Toolkit (NLTK) Natural Language Toolkit (NLTK) 是 Python 中文本分析研…

如何申请免费ChatGPT 2500刀初创金

近日OpenAI 推出了OpenAI for Startups项目&#xff0c;那么什么是Startups项目呢&#xff1a; 它是由全球知名的人工智能研究公司 OpenAI 推出的一个开放式的创业计划&#xff0c;旨在为初创公司提供一种新的激励机制和技术推广方式。 也就是说我们可以用自己账号申请&#x…

记一次Java生成SQL脚本文件换行格式为window/unix的笔记

今天在做一个SQL脚本文件生成需求&#xff0c;其中&#xff0c;需要设置&#xff1a; 文件编码为&#xff1a;UTF-8文件换行格式为&#xff1a;UNIX UTF-8这个好说&#xff0c;因为java代码可以指定文件编码&#xff0c;如&#xff1a; 但是Unix换行格式就很神奇了&#xff0…

快手三面全过了,却因为背调时leader手机号造假,导致offer作废了!

这是一个悲伤的故事&#xff1a; 快手本地三面全过了&#xff0c;但因为背调时leader手机号造假&#xff0c;导致offer作废了。 楼主感叹&#xff1a;大家背调填写信息时&#xff0c;一定要慎重再慎重&#xff0c;不要重复他的悲剧&#xff01; 网友愤慨&#xff0c;照这么说&a…

OSPF最优路径选择

路由比较 1、内部区域>区域间路由>NSSA1>Nssa2 2、如果只有Ex1、Ex2或者Nssa1、nNssa2开销类型。则Ex1>Ex2或者Nssa1>Nssa2 3、如果Ex1、Nssa1,Ex2和Nssa2,Ex1和Nssa1优于Ex2和Nssa2 4、如果外部开销加上内部开销,Ex1和Nssa1一样,则Ex1和Nssa1相同负载分担 5、如果外…

京东工作8年,肝到T8就剩这份心得了,已助朋友拿到10个Offer

在京东工作了8年&#xff0c;工作压力大&#xff0c;节奏快&#xff0c;但是从技术上确实得到了成长&#xff0c;尤其是当你维护与大促相关的系统的时候&#xff0c;熬到T7也费了不少心思&#xff0c;小编也是个爱学习的人&#xff0c;把这几年的工作经验整理成了一份完整的笔记…

【TreeSet集合】比较器排序Comparator的使用

比较器排序Comparator的使用 存储学生对象并遍历&#xff0c;创建TreeSet集合使用带参构造方法 要求&#xff1a;按照年龄从小到大排序&#xff0c;年龄相同时&#xff0c;按照姓名的字母顺序排序 创建学生类&#xff1a; package com.gather.set.treeset; public class Stude…

C语言——分段函数求值

一、题目描述 二、题目分析 本题是简单的分段函数的求解&#xff0c;应学会合理的运用for\if\swich函数解答问题。 三、代码实现 //for语句解题#include <stdio.h> int main() {int x,y;scanf("%d",&x);if(x<1){yx;}else if(1<x && x<…

win10微软Edge浏览器通过WeTab新标签页免费无限制使用ChatGPT的方法,操作简单,使用方便

目录 一、使用效果 二、注册使用教程 1.打开Edge浏览器扩展 2.选择Edge浏览器外接程序 3.搜索WeTab 4.进入管理扩展 5.启用扩展 ​编辑 6.进入WeTab新标签页 7.打开Chat AI 8.注册 9.使用 ChatGPT是OpenAI推出的人工智能语言模型&#xff0c;能够通过理解和学习人类…

不要再重复造轮子了,这几款开源工具类库贼好使

在实际项目开发中&#xff0c;从稳定性和效率的角度考虑&#xff0c;重复造轮子是不被提倡的。但是&#xff0c;自己在学习过程中造轮子绝对是对自己百利而无一害的&#xff0c;造轮子是一种特别能够提高自己系统编程能力的手段。 基于 SpringBoot Vue uni-app 实现的全套电商…

Vue3(二):Vue3生命周期、自定义hook、其他API、Suspense等组件

Vue3&#xff1a;第二章 一、Vue3生命周期二、自定义hook函数三、toRef四、其他Composition API1.shallowRef与shallowReactive2.readonly与shallowReadonly3.toRaw 与 markRaw&#xff0c;customRef4.provide和inject5.响应式数据的判断 五、组合式API的优势1.选项式API的问题…

预训练大语言模型的三种微调技术总结:fine-tuning、parameter-efficient fine-tuning和prompt-tuning

预训练大模型&#xff0c;尤其是大语言模型已经是当前最火热的AI技术。2018年Google发布BERT模型&#xff08;BERT在DataLearner官方模型卡信息&#xff1a;https://www.datalearner.com/ai-models/pretrained-models/BERT &#xff09;的时候&#xff0c;大家还没有意识到本轮…