##事先准备
首先我们先引入这四个模组,同时这一篇文章也会简单地带大家认识这几个模组。
from selenium import webdriver
import pyautogui
import openpyxl
import time
使用selenium之前我们必须要先下载chromedriver,读者可以到其官网上下载最新版本。 driver = webdriver.Chrome(PATH)这是设定我们待会所使用的浏览器是Chrome并且传入chromedriver。之後使用get函数就可以到我们想要到的网页。
PATH = "C:/Users/user/Desktop/chromedriver_win32/chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("https://www.youtube.com/channel/UC8zkK0-g8S8Z_t8ZjUmpAlA/videos")
之後我们开启一个Excel的档案,并且待会档案会读写在工作表1。
openpyxl.load_workbook(filename=)可以开启Excel档案,sheet=workbook['工作表1']指定我们等一下要操作档案的工作表。
path1='77老大.xlsx'
workbook=openpyxl.load_workbook(filename=path1)
sheet=workbook['工作表1']
##一些简易的pyautogui操作
进入该网页後,使用模组pyautogui点击视窗的最大化、滚轮,之後按键盘的PgDn让页面往下滑。pyautogui.locateCenterOnScreen()是一个很好用的函数,它可以侦测你所传入的图片(这边传入的是「视窗最大化」「视窗滚轮」的截图),进行辨识,回传找到的位置。再利用pyautogui.click()来点击。
(这个部分其实也可以用selenium内建的程序来编写,只不过用pyautogui更为直观)
pyautogui.click((pyautogui.locateCenterOnScreen('最大化1.png', grayscale=True)))
time.sleep(2)
pyautogui.click((pyautogui.locateCenterOnScreen('滚轮.png', grayscale=True)))
time.sleep(1)
for i in range(30):
pyautogui.press('pgdn')
time.sleep(0.5)
##爬取资料~!
Selenium最常所使用的函数就是find_element相关函数,我们可以使用网页标签的id、class等等属性进行爬取(不过稍有经验的工程师通常使用xpath、css selector,这里先不提)。具体的操作方式在我们所处的网页上,按下键盘的f12,之後网页会跳出一个「开发者工具」,在element 难为可以看到网页的html,里面有各种标签。 find_elements_by_id("video-title")就是查询所有id="video-title"的标签。
titles=driver.find_elements_by_id("video-title")
number=1
for title in titles:
sheet.cell(row=number,column=1).value=title.get_attribute('text')
sheet.cell(row=number,column=5).value=title.get_attribute('href')
number+=1
print(number)
workbook.save(r'77老大.xlsx')
今天只是一个非常简略的介绍,之後我们还会再继续使用这些函数,到时再进行详细的介绍。
<<: 离职倒数14天:2020年学到最多的两件事,解答了我人生最大的困惑
一样先上图 今天我们要处理的是Sign,在文件中或在看到产出规则,可以看到Hash为永丰金提供, N...
今天来讲条件渲染(Conditional Rendering),也就是可以依照条件变化改变渲染元素的...
来检讨自己啦! 文章太过冗长,想说得太多,没有好好整理,没有清楚表达重点。 应该多说写技术性的内容...
延续昨天,今天来完成一个导览列吧!! 首先先在components创一个navbar.vue 像昨天...
arachni是以ruby语言编写 针对web应用的安全漏洞扫描工具 利用各个模组载入进行测试 使用...