使用Python进行爬虫的初学者指南

如何根据uniports号,爬取bindingDB的活性实验数据 上代码: import requests import json import argparse import time from pandas import json_normalize parser = argparse.ArgumentParser(description="get ligands(BindingDB) by uniprots") parser.add_argument('--uniprots', '-u' , required=True, nargs='+', help='t 阅读详情

前言

爬虫是一种从网站上抓取大量数据的自动化方法。即使是复制和粘贴你喜欢的网站上的引用或行,也是一种web抓取的形式。大多数网站不允许你保存他们网站上的数据供你使用。因此,唯一的选择是手动复制数据,这将消耗大量时间,甚至可能需要几天才能完成。

网站上的数据大多是非结构化的。Web抓取有助于将这些非结构化数据,并将其以自定义和结构化的形式存储到本地或数据库中。如果您是为了学习的目的而抓取web页面,那么您不太可能会遇到任何问题,在不违反服务条款的情况下,自己进行一些web抓取来增强您的技能是一个很好的实践。

爬虫步骤

为什么使用Python进行Web抓取?

Python速度快得令人难以置信,而且更容易进行web抓取。由于太容易编码,您可以使用简单的小代码来执行大型任务。

如何进行Web抓取?

我们需要运行web抓取的代码,以便将请求发送到我们想要抓取的网站的URL。服务器发送数据并允许我们读取HTML或XML页面作为响应。代码解析HTML或XML页面,查找数据并提取它们。

下面是使用Python使用Web抓取提取数据的步骤

1.寻找您想要抓取的URL
2.分析网站
3.找到要提取的数据
4.编写代码
5.运行代码并从网站中提取数据
6.将所需格式的数据存储在计算机中

用于Web抓取的库

  • Requests
  • Beautiful Soup
  • Pandas
  • Tqdm

Requests是一个允许使用Python发送HTTP请求的模块。HTTP请求用于返回一个包含所有响应数据(如编码、状态、内容等)的响应对象

BeautifulSoup是一个用于从HTML和XML文件中提取数据的Python库。这适用于您喜欢的解析器,以便提供导航、搜索和修改解析树的惯用方法。它是专门为快速和高可靠的数据提取而设计的。

pandas是一个开源库,它允许我们在Python web开发中执行数据操作。它构建在Numpy包上,其关键数据结构称为DataFrame。DataFrames允许我们在观察数据行和变量列中存储和操作表格数据。

Tqdm是另一个python库,它可以迅速地使您的循环显示一个智能进度计—您所要做的就是用Tqdm(iterable)包装任何可迭代的。

演示:抓取一个网站

Step 1. 寻找您想要抓取的URL

为了演示,我们将抓取网页来提取手机的详细信息。我使用了一个示例(www.example.com)来展示这个过程。

Stpe 2. 分析网站

数据通常嵌套在标记中。分析和检查我们想要获取的数据被标记在其下的页面是嵌套的。要查看页面,只需右键单击元素,然后单击“inspect”。一个小的检查元件盒将被打开。您可以看到站点背后的原始代码。现在你可以找到你想要刮的细节标签了。

您可以在控制台的左上角找到一个箭头符号。如果单击箭头,然后单击产品区域,则特定产品区域的代码将在console选项卡中突出显示。

我们应该做的第一件事是回顾和理解HTML的结构,因为从网站上获取数据是非常重要的。网站页面上会有很多代码,我们需要包含我们数据的代码。学习HTML的基础知识将有助于熟悉HTML标记。

在这里插入图片描述

Step 3.找到要提取的数据

我们将提取手机数据,如产品名称、实际价格、折扣价格等。您可以提取任何类型的数据。为此,我们必须找到包含我们的数据的标记。

通过检查元素的区域来打开控制台。点击左上角的箭头,然后点击产品。您现在将能够看到我们点击的产品的特定代码。

Step 4. 编写代码

现在我们必须找出数据和链接的位置。让我们开始代码编写。

创建一个名为scrap.py的文件,并在您选择的任何编辑器中打开它。我们将使用pip安装上面提到的四个Python库。

第一个和主要的过程是访问站点数据。我们已经设置了该网站的URL,并访问了该网站。

url = 'https://www.example.com/products/mobiles-mobile-phones?sort=plrty'headers = {    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64)'    'AppleWebKit/537.36 (KHTML, like Gecko)'    'Chrome/64.0.3282.167 Safari/537.36'    }result = requests.get(url, headers=headers,verify=True)Print(result)

Output: <Response [200]>

如果你看到上面的结果,那么你已经成功访问了这个网站。

Step 5. 运行代码并从网站中提取数据

现在,我们将使用Beautifulsoup解析HTML。

soup = BeautifulSoup(result.content, 'html.parser')

如果我们打印soup,然后我们将能够看到整个网站页面的HTML内容。我们现在要做的就是过滤包含数据的部分。因此,我们将从soup中提取section标记。

section=soup.find("section", class_='js-section').find_all("div",{'class':'product-desc-rating})Print(section)

结果如下:

在这里插入图片描述
现在,我们可以在div的“product-desc-rating”类中提取移动电话的详细信息。我已经为移动电话的每个列细节创建了一个列表,并使用for循环将其附加到该列表中。

Products = []url = []Actual_Price = []Discounted_Price = []Discount = []

产品名称出现在HTML中的p标记(段落标记)之下,而product_url则出现在锚标记之下。

HTML锚标记定义了一个超链接,将一个页面链接到另一个页面。它可以创建到另一个web页面以及文件、位置或任何URL的超链接。“href”属性是HTML标记最重要的属性。以及指向目标页面或URL的链接。

然后我们将提取实际价格和折扣价格,它们都出现在span标签中。标签用于对内联元素进行分组。并且标签本身不提供任何视觉变化。最后,我们将从div标签中提取报价百分比。div标记是块级标记。它是一个通用的容器标签。它用于HTML的各种标记组,以便可以创建节并将样式应用于它们。

for t in tqdm(section):    product_name = t.p.text    Products.append(product_name)    product_url = t.a['href']    url.append(product_url)    original_price = t.span.getText()    Actual_Price.append(original_price)    discounted_price = t.find('span', class_ = 'lfloat product-price').getText()    Discounted_Price.append(discounted_price)    try:        product_discount = t.find('div', class_ = 'product-discount')        Discount.append(product_discount.text)    except Exception as e:        product_discount = None          Discount.append(product_discount)

Step 6. 以所需的格式存储数据

我们已经提取了数据。我们现在要做的就是将数据存储到文件或数据库中。您可以按照所需的格式存储数据。这取决于你的要求。在这里,我们将以CSV(逗号分隔值)格式存储提取的数据。

= pd.DataFrame({'Product Name':Products,'Actual_Price':Actual_Price,'Discounted_Price':Discounted_Price,'Offer_Percentage':Discount,'Product_url':url}) df.to_csv(' products.csv', index=False, encoding='utf-8')

在这里插入图片描述

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

六、Python练习题

检查学习结果。
在这里插入图片描述

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

这份完整版的Python全套学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

Python资料、技术、课程、解答、咨询也可以直接点击下面名片,添加官方客服斯琪↓

Python实战笔记之爬虫+简单数据分析 起因 之前,我参考了这篇文章,完成了第一次爬虫练习(爬取周杰伦新歌《Mojito》MV弹幕,看看粉丝们都说的些啥?)。 在完成第一次爬虫练习后,我开始思考,爬虫得到的数据,要如何进行数据分析呢?为此,我选择了另外一期视频,并对视频的弹幕进行数据分析。 爬虫部分 爬虫部分,我根据公众号文章中给出的代码,结合自己的使用情况,成功获取了B站up主“花花与三猫CATLIVE”最新一期视频(BV1RK411n7EV)的弹幕列表,并将弹幕保存为txt文件。这个过程中,我还学习了正则表达式的使用。 数据分析部分 数据分析 阅读详情

相关推荐

使用Python爬取不同类别的豆瓣电影简介

使用Python爬取不同类别的豆瓣电影简介 之前做过一点文本分类的工作,从豆瓣上爬取了不同类别的数千条电影的简介。 爬取目标 我们爬取的目标是 豆瓣影视,打开豆瓣网,随便点击一部电影,即可看到电影的介绍、评论等信息,我们需要爬取的是电影的简介部分。 思路 通过Chrome浏览器的调试工具中Network工具,我们可以看出在页面加载的同事,会发送一个Ajax请求查询指定类别的电影列表。 其中url字段即为详情页的链接。 在详情页,通过chrome调试器可以找到对应的标签,并且通过右键查看源代码,并使用c

weixin_47882458的博客 2908

python提取网页中p标签中的内容_使用Python进行爬虫的初学者指南

前言爬虫是一种从网站上抓取大量数据的自动化方法。即使是复制和粘贴你喜欢的网站上的引用或行,也是一种web抓取的形式。大多数网站不允许你保存他们网站上的数据供你使用。因此,唯一的选择是手动复制数据,这将消耗大量时间,甚至可能需要几天才能完成。网站上的数据大多是非结构化的。Web抓取有助于将这些非结构化数据,并将其以自定义和结构化的形式存储到本地或数据库中。如果您是为了学习的目的而抓取web页面,那么...

weixin_39776298的博客 3021

初学者如何用 Python 写第一个爬虫?

爬虫(Web Crawler)是一种自动化脚本或程序,它会模拟用户访问网页的行为,从而提取网页中的特定内容。

ADFVBM的博客 4万+

python提取网页中p标签中的内容_入门Python爬虫 -- 提取数据篇

前言在提取数据这一环节,爬虫程序会将我们所需要的数据提取出来。在上一篇文章《入门Python爬虫 -- 解析数据篇》中,我们已经了解过了解析数据的要点。而今天的内容,主要会在此基础上进一步提取出我们认为有价值的信息。提取数据知识点在提取数据的过程中,我们依旧会用到熟悉的BeautifulSoup库。下面我会介绍一下其中比较常用的两个方法:find()以及find_all()。find():提取首个...

weixin_39855869的博客 6594

Python网络爬虫初学者项目:七乐彩数据抓取

Python是一种广泛使用的高级编程语言,以其简洁明了的语法和强大的功能而受到开发者的青睐。在开始网络爬虫之前,了解Python的基础知识是至关重要的。这包括变量、数据类型、控制流语句、函数定义以及Python的模块系统。掌握这些基础知识,将为后续编写高效且结构化的爬虫代码打下坚实的基础。网络爬虫,也被称作网络蜘蛛或网络机器人,是一种自动化工具,它通过互联网自动地浏览网页,并从中抓取所需的信息。网络爬虫在数据采集、搜索引擎索引创建、市场分析、网站监控等众多领域都有广泛的应用。

weixin_42594427的博客 342

从零开始:QNX SDP 8.0开发环境搭建与实战入门

本文详细介绍了如何从零开始搭建QNX SDP 8.0开发环境并进行实战入门。内容涵盖许可证获取、环境安装、命令行与IDE工具使用、BSP构建、系统镜像生成,以及编写、编译和运行第一个QNX程序的全过程。旨在帮助嵌入式开发者,特别是汽车电子和工业控制领域的工程师,快速掌握这一实时操作系统(RTOS)的开发基础。

weixin_29163857的博客 641

初学者快速入门Python爬虫 (无废话版)

定义:网络爬虫(Web Crawler)是自动浏览互联网并采集数据的程序,就像电子蜘蛛在网页间"爬行"。分类通用爬虫:Google等搜索引擎的爬虫聚焦爬虫:定向采集特定领域数据(如电商价格)增量式爬虫:只抓取更新内容深层爬虫:抓取需要登录的页面。

小那同学的博客 3727

C#调用Halcon程序三种方法

C#调用Halcon程序三种方法 1.halcon导出C#文件,在C#里面调用 2.在C#里面使用Halcon引擎调用Halcon程序 3.在C#里面使用Halcon引擎调用.hdev下本地函数或者.hdvp外部函数 Halcon引擎手册:C:/Program Files/MVTec/HALCON-21.11-Progress/doc_en_US/html/manuals/programmers_guide/programmers_guide_0120.html 1.导出C#(代码我只给出类,需要调用)

A541925504的博客 1万+

Python初学者之网络爬虫

声明:本文内容和涉及到的代码仅限于个人学习,任何人不得作为商业用途。 本文将介绍我最近在学习Python过程中写的一个爬虫程序,将力争做到不需要有任何Python基础的程序员都能读懂。读者也可以先跳到文章末尾看最终收集的数据效果和完整代码。 1. 确立目标需求 本次练习Python爬虫的目标需求为以下两点: 1) 收集huajiao.com上的人气主播信息:每位主播的关注数,粉丝数,赞数,...

weixin_30609287的博客 253

告别社区5级:一个脚本搞定小米/红米BL解锁的账号绑定限制(附资源下载与避坑指南)

本文提供了一种绕过小米/红米设备Bootloader解锁社区等级限制的技术方案,适用于MIUI 12.5-14和HyperOS 1.0系统。通过自动化脚本临时修改系统组件,用户可快速完成账号绑定和设备解锁流程,附详细操作指南和常见问题解决方案。

weixin_27330481的博客 730

Fedora 41上安装钉钉7.6.25,我踩过的那些依赖坑和最终解决方案

本文详细记录了在Fedora 41上安装钉钉7.6.25版本的全过程,包括解决依赖问题、转换deb包为rpm格式、处理libm.so.6错误等关键步骤。通过分享这些实用技巧和最终解决方案,帮助Linux用户顺利在Fedora系统上运行钉钉客户端,提升工作效率。

weixin_30485379的博客 206

如何自学python爬虫-Python初学者如何从网络爬虫到机器学习?

很多同学选择了Python作为其学习编程的首选语言,而Python也以其容易上手的语法、广泛的应用领域、不断旺盛的市场需求回报着每一个学习者和应用者。今天我们来说说Python的一个热门的应用领域——数据科学。数据科学领域涵盖了数据的获取、数据的处理、数据的分析和数据的挖掘这4个方面。而这4个方面,Python都能够轻松的胜任。数据获取——仰赖于Python在网络爬虫领域的诸多优势,很多人对于Py...

weixin_37988176的博客 258

基于FPGA的数字信号处理(17)--定点运算的实现实例(饱和Saturate与四舍五入Round)

基于FPGA的数字信号处理(17)--定点运算的实现实例(饱和Saturate与四舍五入Round)

孤独的单刀 2960

python初学者之网络爬虫_Python初学者之网络爬虫(二)

到目前为止我新做了如下事情:对MySql的读写操作进行了封装编码风格遵从PEP8爬取沃米优选网(http://video.51wom.com/)的主播信息爬取一下网(http://www.yixia.com/)的主播信息和视频信息其中对MySql的封装代码单独放到了文件mysql.py下,做为一个module使用,这个module虽然简单,但已经实现了select,insert,delete等操作...

weixin_39581716的博客 301

001、Zephyr RTOS简介与历史背景

本文介绍了Zephyr RTOS的特点及其在嵌入式开发中的应用。作者通过亲身经历比较了Zephyr与传统RTOS的差异,重点分析了Zephyr的设备树、统一驱动模型、基于CMake的构建系统、POSIX兼容层等核心特性。文章详细阐述了Zephyr在内核设计上的优势,如中断处理模型、内存管理等,并提供了社区生态和使用建议。作者建议开发者从简单项目入手逐步掌握Zephyr,同时指出了常见的使用问题和适用场景,认为Zephyr特别适合复杂软件架构的物联网和工业控制项目。

m0_50546716的博客 155

分布式计算Ray框架面试题及参考答案

动态任务图执行引擎是一种能够根据任务之间的依赖关系和运行时的实际情况,动态构建和执行任务图的系统。在 Ray 中,动态任务图执行引擎允许任务在运行时根据数据可用性、计算资源状态等因素,灵活地决定后续任务的执行顺序和方式。对于 AI 应用来说,其往往具有动态性的特点。例如,在深度学习模型的训练过程中,可能需要根据训练的结果动态调整下一轮训练的参数、数据增强方式或者模型结构。动态任务图执行引擎可以很好地支持这些动态需求。它能够根据 AI 应用中各个任务的实时输出和依赖关系,动态地生成和调整任务图。

大模型大数据攻城狮的专栏 1350

python爬网页数据用什么_初学者如何用“python爬虫”技术抓取网页数据?

原标题:初学者如何用“python爬虫”技术抓取网页数据?在当今社会,互联网上充斥着许多有用的数据。我们只需要耐心观察并添加一些技术手段即可获得大量有价值的数据。而这里的“技术手段”就是指网络爬虫。 今天,小编将与您分享一个爬虫的基本知识和入门教程:什么是爬虫?网络爬虫,也叫作网络数据采集,是指通过编程从Web服务器请求数据(HTML表单),然后解析HTML以提取所需的数据。想要入门Python ...

weixin_39765280的博客 125

小龙虾 OpenClaw 权限全攻略:轻松激活 elevated (最新版 OpenClaw 自动化任务降智、无权限、无法执行sudo等系统命令、提升 elevated 权限的解决方案)

升级小龙虾 OpenClaw 后权限不足?elevated 报错?📛 本文教你如何正确配置 OpenClaw 权限💻,让自动化任务顺利执行 🚀

XiaoqiangClub的博客 733

初学者如何用Python写第一个爬虫:从入门到实践

网络爬虫(又被称为网页蜘蛛,网络机器人)是一种按照特定规则自动抓取互联网信息的程序。它模拟浏览器发送网络请求,接收请求响应,从而获取网页内容。简单来说,就是让计算机自动执行我们手动完成的浏览和数据收集工作[0根据URL获取HTML数据解析HTML提取所需数据按照一定规则继续获取新的数据[1通过本指南,初学者应该已经了解了如何使用Python编写第一个网络爬虫。从基本概念到实际代码,从工具选择到伦理规范,我们全面地介绍了Python网络爬虫的各个方面。

babyai996的博客 1716

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Python爬虫小白入门(一)

我们使用Python来写爬虫,一方面因为Python是一个特别适合变成入门的语言,另一方面,Python也有很多爬虫相关的工具包,能够简单快速的开发出我们的小爬虫。

2201_75362610的博客 659

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

网络爬虫语言选择

什么是网络爬虫 “网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。” 爬虫的作用 爬虫能干的事情比较多,并且有些领域和爬虫都有很大的关联。不同深度,技术的爬虫工作者能干的事情也不同。 搜索引擎 抢票、刷票 金融等行业数据挖掘、分析数据来源等其他 爬虫语言的选择 • 对于初学者肯定会对选择java和python有些java爱好者可能会有点难受。对于java和

Laicaling的博客 2003

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

python怎么写爬虫脚本_如何编写python脚本?教你做简单的爬虫,适合初学者

如何编写python脚本?很多朋友学习python都希望能从爬虫开始,而网络爬虫是近年来的热门话题,学习网络爬虫的人越来越多!其实,一般的爬虫技术具有2个功能:取数据和存数据!好像我们说了句废话。。。但从这两个功能进行拓展,需要的知识很多:请求数据,防爬处理,页面解析,内容匹配,绕过验证码,维护登录和数据库等相关知识,今天我们就来谈谈做一个简单的爬虫,需要的一般步骤!!(可以看文章底部哦!)存数据...

weixin_39809168的博客 765
上一篇: 了解一下,我是如何用Python在业余时间赚5千外快的
下一篇: 年薪30w+,成功转行python开发工程师,关于我的摸爬滚打之路
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值