Day 22 Selenium模组一

今天的影片内容为介绍另一个强大的模组—Selenium
有了它,我们就可以随心所欲地控制浏览器并执行许多自动化的动作
想要抢演唱会的门票或是限量商品也是可行的
让我们一起来认识Selenium吧!

要执行这个外部模组前,必须至CMD进行安装

pip install selenium

接着下载chrome浏览器

https://www.google.com/intl/zh-TW/chrome/?brand=JJTC&gclid=CjwKCAjw7--KBhAMEiwAxfpkWCvv3CVCnH_sZzoLu1ROgeleWmuJlUuYqPHsr3m01gugT1vldtzgAxoCs9oQAvD_BwE&gclsrc=aw.ds

最後下载符合您需求的驱动程序

https://chromedriver.chromium.org/home

以下为影片中有使用到的程序码

#传回资料型态
#请将C:\\spider\\修改为chromedriver.exe在您电脑中的路径
from selenium import webdriver

dirverPath = 'C:\\spider\\chromedriver.exe'
browser = webdriver.Chrome(executable_path = dirverPath)
print(type(browser))
#让浏览器连上网页
#请将C:\\spider\\修改为chromedriver.exe在您电脑中的路径
from selenium import webdriver

dirverPath = 'C:\\spider\\chromedriver.exe'
browser = webdriver.Chrome(executable_path = dirverPath)
url = 'https://new.ntpu.edu.tw/'
browser.get(url)
#几个重要的属性
#请将C:\\spider\\修改为chromedriver.exe在您电脑中的路径
from selenium import webdriver

dirverPath = 'C:\\spider\\chromedriver.exe'
browser = webdriver.Chrome(executable_path = dirverPath)
url = 'https://new.ntpu.edu.tw/'
browser.get(url)
print('浏览器名称:', browser.name)
print('网页连线id:', browser.session_id)
print('网页网址:', browser.current_url)
print('网页标题:', browser.title)
print('网页原始码:\n', browser.page_source)
#说不定...可以结合bs4?
#请将C:\\spider\\修改为chromedriver.exe在您电脑中的路径
from selenium import webdriver
import bs4
dirverPath = 'C:\\spider\\chromedriver.exe'
browser = webdriver.Chrome(executable_path = dirverPath)
url = 'https://new.ntpu.edu.tw/'
browser.get(url)

objsoup = bs4.BeautifulSoup(browser.page_source, 'lxml')
print(type(objsoup))
#selenium结合BeautifulSoup
#请将C:\\spider\\修改为chromedriver.exe在您电脑中的路径
from selenium import webdriver
import bs4
dirverPath = 'C:\\spider\\chromedriver.exe'
browser = webdriver.Chrome(executable_path = dirverPath)
url = 'https://www.taiwanlottery.com.tw/index_new.aspx'
browser.get(url)

objsoup = bs4.BeautifulSoup(browser.page_source, 'lxml')

print("="*100)
#以下为上次爬取双赢彩的程序码
doublewin = objsoup.find(class_ = 'contents_box06')
balls = doublewin.find_all(class_='ball_tx ball_blue')

order_1 = [] #开出顺序
order_2 = [] #大小顺序

for ball in balls:
    if len(order_1) < 12:
        order_1.append(ball.text)
    else:
        order_2.append(ball.text)
        
#最终成果
time = doublewin.find('span')
print(time.text)
print("开出顺序", order_1)   
print("大小顺序", order_2) 

本篇影片及程序码仅提供研究使用,请勿大量恶意地爬取资料造成对方网页的负担呦!
如果在影片中有说得不太清楚或错误的地方,欢迎留言告诉我,谢谢您的指教。


<<:  DAY22神经网路

>>:  D3JsDay21笔画面量彩色图,涂色彩亮面画笔—地理面量图(下)

风险承受能力和风险偏好(Risk Capacity and Risk Appetite)

.风险暴露(Risk Exposure)是指风险给个人,项目或组织带来的潜在损失。(ISO 160...

电脑突然出现奇怪的档案...

故事的开始是着样的 某天有位帅帅在自已的电脑上发现吃掉硬碟空间的凶手... 硬碟空间整个塞爆的概念....

Dart语言和你 SAY HELLO!!

第四天 各位点进来的朋友,你们好阿 小的不才只能做这个系列的文章,但还是希望分享给点进来的朋友,知道...

Day 10 | 进阶清单元件 - ViewHolder

View的重复利用 由於每一个项目都会有一个新的View,当项目增加时,View也会越来越多导致效能...

JS 陈述式 v.s 表达式 DAY51

陈述式 v.s 表达式 陈述式 JS 的语句类型,用於命令执行指定的一系列操作 最大特徵是不会回传结...