【从零开始的python生活①】手撕爬虫扒一扒力扣的用户刷题数据(1)

简介: 【从零开始的python生活①】手撕爬虫扒一扒力扣的用户刷题数据(1)

☘前言☘

读完这篇博客,你可以学到什么?


python的基础语法(适合c转python)

excel的读取和写入方式

基本的爬虫定位方法

python的安装(这个很容易的)

基本的环境配置(这个基本上不用配置)

   9a86513f24ed77047ff3b9bc92c8d6d.png


这篇博客里,我将带领大家手撕第一个python的爬虫小程序,不用担心,都是从基础知识开始的。当你学完这篇博客就可以解放双手让python干费时费力的事情去吧!

全文大约阅读时间: 20min


🧑🏻作者简介:一个从工业设计改行学嵌入式的年轻人

✨联系方式:2201891280(QQ)


主要内容

☘前言☘

一、必备的一些基础知识

       1. 创建变量

       2. 循环

       3. 判断

二、必备的一些库文件

       time

       pandas

       openpyxl

       selenium

三、网站元素定位

      确定元素

      网络延迟

五、最终成果

六、写在最后

一、必备的一些基础知识

python作为一个弱类型的语言,很多方面和c会有大的出入,在学习之前需要对这些基础语法有个基础了解。首先是python没有;哦,一个回车就代表一句结束


1. 创建变量

num = 10  #创建一个变量
ws = wb['Sheet1'] ##根据wb中的'Sheet'元素类型创建变量


是不是很简单?需要什么直接写名字赋值就好了0.0


2. 循环

for lie in df.index.values:
    driver.get(lie)
    submitTag = driver.find_elements_by_xpath('//*[text()="解决问题"]/../b')
wb.save(r'111.xlsx')#循环外的语句


这个和c有亿点点区别,python特别注意缩进,还是有助于改进一些人的代码习惯的,缩进打得好能大大提升代码的可读性。

这里就是遍历df.index.values中所有的元素,然后进行操作,只要是有一个缩进的都是for循环体内的语句!

只有最后一句不在循环体内。


3. 判断

if(len(submitTag) != 0):
    break
else 
  continue


看完循环的话这个很好理解吧,一样的,都是相同缩进是一个循环或者判断体内的。


二、必备的一些库文件

python最伟大的地方就是有很多第三方库可以选择,有很多造好的轮子。我们只要使用就好了-.-

根据我们这次需要做的事情 我们引入了四个库文件

其中需要安装库文件的话可以在命令提示行下面的命令。其中xxx就是下面的标题名字


pip intsall xxx #一般这个就行
pip3 intsall xxx #不行试试这个

time

这个库顾名思义就是和时间相关的。我们需要的只是做个延时,所以我们只需要他的一点点功能。先导入功能


from time import sleep


这就是最常见的导入方式 ,我们只需要sleep就只导入功能就好了。

用法也很简单


sleep(3)

完事了?简单不。功能就是休息3s


pandas

Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。

华丽呼哨的 咱也看不懂,反正我就用来打开excel的某一列。

老规矩,先导入


import pandas as pd


这次换个方式,我们把它导入,然后给他换个名字。(⊙o⊙)

用法也不难其实 . 有点借鉴c++,就是调用相应的方法。


df = pd.read_excel('111.xlsx',index_col='LeetCode地址')


这样我们就成功把名字叫做LeetCode地址的一列读进来了。


openpyxl

其实这个才是专门处理excel的,但是读入我用了pandas也不想改了。这个我用来保存读到的数据。


import openpyxl


这次我们不改名直接调用

用法也不难,我主要用下面的几个


wb=openpyxl.load_workbook(r'111.xlsx')#载入exlce数据
ws = wb['Sheet1'] #令ws为数据表1
ws.cell(row = i+1, column = num).value = distance#写入第i+1行第num行的值distance
wb.save(r'111.xlsx') #保存wb的更改


这样我们就完成修改对应的值并保存了。


selenium

这个是用来抓数据的 其实主要用来测试的,但是这次我们拿来用用


from selenium import webdriver


导入其中的webdriver方法 我们用到的主要是里面的方法


driver = webdriver.Chrome()#打开chrome浏览器
driver.get(lie)#打开对应的网址
submitTag = driver.find_elements_by_xpath('//*[text()="解决问题"]/../b')

上面的三句话分别对应我们打开浏览器,输入网址 找到数据。

注:这个需要安装selenium和chrome 具体可以参考这个Selenium安装教程

相关文章
|
2月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
292 10
|
2月前
|
数据采集 存储 XML
Python爬虫:深入探索1688关键词接口获取之道
在数字化经济中,数据尤其在电商领域的价值日益凸显。1688作为中国领先的B2B平台,其关键词接口对商家至关重要。本文介绍如何通过Python爬虫技术,合法合规地获取1688关键词接口,助力商家洞察市场趋势,优化营销策略。
|
4天前
|
数据采集 数据安全/隐私保护 Python
从零开始:用Python爬取网站的汽车品牌和价格数据
在现代化办公室中,工程师小李和产品经理小张讨论如何获取懂车帝网站的汽车品牌和价格数据。小李提出使用Python编写爬虫,并通过亿牛云爬虫代理避免被封禁。代码实现包括设置代理、请求头、解析网页内容、多线程爬取等步骤,确保高效且稳定地抓取数据。小张表示理解并准备按照指导操作。
从零开始:用Python爬取网站的汽车品牌和价格数据
|
2天前
|
存储 数据采集 数据库
Python爬虫实战:股票分时数据抓取与存储
Python爬虫实战:股票分时数据抓取与存储
|
1月前
|
数据采集 Web App开发 数据可视化
Python用代理IP获取抖音电商达人主播数据
在当今数字化时代,电商直播成为重要的销售模式,抖音电商汇聚了众多达人主播。了解这些主播的数据对于品牌和商家至关重要。然而,直接从平台获取数据并非易事。本文介绍如何使用Python和代理IP高效抓取抖音电商达人主播的关键数据,包括主播昵称、ID、直播间链接、观看人数、点赞数和商品列表等。通过环境准备、代码实战及数据处理与可视化,最终实现定时任务自动化抓取,为企业决策提供有力支持。
|
28天前
|
数据采集 JSON 数据格式
Python爬虫:京东商品评论内容
京东商品评论接口为商家和消费者提供了重要工具。商家可分析评论优化产品,消费者则依赖评论做出购买决策。该接口通过HTTP请求获取评论内容、时间、点赞数等数据,支持分页和筛选好评、中评、差评。Python示例代码展示了如何调用接口并处理返回的JSON数据。应用场景包括产品优化、消费者决策辅助、市场竞争分析及舆情监测。
|
1月前
|
数据采集 供应链 API
Python爬虫与1688图片搜索API接口:深度解析与显著收益
在电子商务领域,数据是驱动业务决策的核心。阿里巴巴旗下的1688平台作为全球领先的B2B市场,提供了丰富的API接口,特别是图片搜索API(`item_search_img`),允许开发者通过上传图片搜索相似商品。本文介绍如何结合Python爬虫技术高效利用该接口,提升搜索效率和用户体验,助力企业实现自动化商品搜索、库存管理优化、竞品监控与定价策略调整等,显著提高运营效率和市场竞争力。
82 3
|
2月前
|
数据采集 存储 缓存
如何使用缓存技术提升Python爬虫效率
如何使用缓存技术提升Python爬虫效率
|
2月前
|
数据采集 Web App开发 监控
Python爬虫:爱奇艺榜单数据的实时监控
Python爬虫:爱奇艺榜单数据的实时监控
|
2月前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。