当前位置: 首页 > news >正文

基于web技术的音乐网站开发我是站长网

基于web技术的音乐网站开发,我是站长网,最新wordpress安装,网站网站设计公司1 selenium概述 1.什么是selenium? (1)Selenium是一个用于Web应用程序测试的工具。 (2)Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。 (3)支持通过各种driver&#…

1 selenium概述

1.什么是selenium?
(1)Selenium是一个用于Web应用程序测试的工具。
(2)Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。
(3)支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver)驱动真实浏览器完成测试。
(4)selenium也是支持无界面浏览器操作的。
2.为什么使用selenium?
模拟浏览器功能,自动执行网页中的js代码,实现动态加载
3.如何安装selenium?
(1)操作谷歌浏览器驱动下载地址http://chromedriver.storage.googleapis.com/index.html
(2)谷歌驱动和谷歌浏览器版本之间的映射表http://blog.csdn.net/huilan_same/article/details/51896672
(3)查看谷歌浏览器版本谷歌浏览器右上角‐‐>帮助‐‐>关于
(4)安装selenium4.1.1版本pip install selenium==4.1.0
4.selenium的使用步骤?
(1)导入:from selenium import webdriver
(2)创建谷歌浏览器操作对象:a、如果驱动路径和采集数据的py文件在同一个目录时,创建对象如下:browser = webdriver.Chrome()b、如果驱动路径和采集数据的py文件不在同一个目录时,创建对象如下:path = 谷歌浏览器驱动文件路径browser = webdriver.Chrome(path)
(3)访问网址
url = 要访问的网址
browser.get(url)
5、selenium的元素定位?
元素定位:自动化要做的就是模拟鼠标和键盘来操作来操作这些元素,点击、输入等等。操作这些元素前首先要找到它们,WebDriver提供很多定位元素的方法方法,现以百度网页为例
# 通过 id 定位
driver.find_element_by_id("kw")# 通过name定位:
driver.find_element_by_name("wd")# 通过class name定位:
driver.find_element_by_class_name("s_ipt")# 通过tag name定位:
driver.find_element_by_tag_name("input")# 通过 xpath 定位的几种写法
driver.find_element_by_xpath("//*[@id='kw']")
driver.find_element_by_xpath("//*[@name='wd']")
driver.find_element_by_xpath("//input[@class='s_ipt']")
driver.find_element_by_xpath("/html/body/form/span/input")
driver.find_element_by_xpath("//span[@class='soutu-btn']/input")
driver.find_element_by_xpath("//form[@id='form']/span/input")
driver.find_element_by_xpath("//input[@id='kw' and @name='wd']")# 通过 css 定位的几种写法
driver.find_element_by_css_selector("#kw")# 根据选择器进行定位输入框的id属性,id用#,其中#kw表示的是id选择器名称是kw的
driver.find_element_by_css_selector("[name=wd]")
driverr.find_element_by_css_selector(".s_ipt")
driver.find_element_by_css_selector("html > body > form > span > input")
driver.find_element_by_css_selector("span.soutu-btn> input#kw")
driver.find_element_by_css_selector("form#form > span > input")# 通过 link_text 定位
driver.find_element_by_link_text("新闻")
driver.find_element_by_link_text("hao123")
driver.find_element_by_partial_link_text("新")
driver.find_element_by_partial_link_text("hao")
driver.find_element_by_partial_link_text("123")# 如果是定位一组元素,用下面
find_elements_by_id()
find_elements_by_name()
find_elements_by_class_name()
find_elements_by_tag_name()
find_elements_by_link_text()
find_elements_by_partial_link_text()
find_elements_by_xpath()
find_elements_by_css_selector()

2 selenium访问百度网页输入"python"

from selenium import webdriver
import time
url='https://www.baidu.com/'
brower=webdriver.Chrome()
brower.get(url)
#解决闪退方式:time.sleep(20)
time.sleep(10)
brower.find_element_by_id("kw").send_keys('python')
time.sleep(10)
brower.find_element_by_id("su").click()
time.sleep(20)selenium常用配置,模拟用户操作百度网页,将以上代码改为:from selenium import webdriver
import time
#配置
options=webdriver.ChromeOptions()
options.add_experimental_option('detach',True)
#禁止浏览器扩展
options.add_argument('--disable-extensions')#禁止浏览器弹窗
options.add_argument('--disable-popup-blocking')
#创建浏览器对象
diver=webdriver.Chrome(options=options)diver.get('https://www.baidu.com/')
diver.maximize_window()diver.find_element_by_id("kw").send_keys('python')
time.sleep(3)
diver.find_element_by_id("su").click()
time.sleep(5)

3、selenium采集BOSS直聘数据

from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
import time
#BOSS直聘
#谷歌内核
def spider(url):driver.get(url)sleep(3)search = driver.find_element(By.XPATH, '//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/div[2]/p/input')search.send_keys("数据分析师")sleep(2)submit = driver.find_element(By.XPATH, '//*[@id="wrap"]/div[3]/div/div[1]/div[1]/form/button')submit.click()print('搜索结束,开始寻找信息')driver.implicitly_wait(5)sleep(3)parser(driver)ye = 2while (ye < 5):print("正在爬去第{}页".format(ye))next_page = driver.find_element_by_class_name("ui-icon-arrow-right")next_page.click()sleep(5)parser(driver)ye = ye + 1def parser(driver):# #lis = driver.find_elements(By.CSS_SELECTOR, '.job-card-wrapper')print('定位完成')for li in lis:jobname = li.find_element(By.CSS_SELECTOR, '.job-name').textinfo_data = li.find_element(By.CSS_SELECTOR, '.job-card-left').get_attribute('href')jobarea = li.find_element(By.CSS_SELECTOR, '.job-area').textslary = li.find_element(By.CSS_SELECTOR, '.salary').textprint('工作名字:' + jobname + ' 工作场所:', jobarea + ' 工资:' + slary + ' 详细链接:' + info_data)print('\n')if __name__ == '__main__':driver=webdriver.Chrome()#调窗口至全屏大小driver.maximize_window()url='https://www.zhipin.com/zhengzhou/?sid=sem_pz_360pc_title'spider(url)

4、selenium采集中国大学MOOC课程信息

4.1单页采集mooc课程评论数据

import requestsurl='https://www.icourse163.org/course/ZJU-200001'
headers={"user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4214.3 Safari/537.36"}re=requests.get(url,headers=headers)
re.encoding="utf-8"
response=re.text
print(response)#为了解决以上没有得到源码的问题,使用selenium采集from selenium import webdriver
import timedef spider(url):driver.get(url)driver.implicitly_wait(3)button=driver.find_element_by_id("review-tag-button")button.click()time.sleep(5)paser(driver)def paser(driver):info=driver.find_elements_by_class_name("ux-mooc-comment-course-comment_comment-list_item_body")all=[]name=[]content=[]time_f=[]course_count=[]like_count=[]for i in info:all.append(i.text.split("\n"))for a in all:name.append(a[0])content.append(a[1])time_f.append(a[2])course_count.append(a[3])like_count.append(a[4])all_info=list(zip(name,content,time_f,course_count,like_count))print(all_info)if __name__ == '__main__':driver=webdriver.Chrome()url='https://www.icourse163.org/course/ZJU-200001?from=searchPage&outVendor=zw_mooc_pcssjg_'spider(url)

2、分页采集mooc课程评论数据并保存到csv中

from selenium import webdriver
import time
import csvdef spider(url):driver.get(url)driver.implicitly_wait(3)button=driver.find_element_by_id("review-tag-button")button.click()time.sleep(5)paser(driver)ye=2while(ye<5):print("正在爬去第{}页".format(ye))next_page=driver.find_element_by_class_name("ux-pager_btn__next")next_page.click()time.sleep(5)paser(driver)ye=ye+1def paser(driver):info=driver.find_elements_by_class_name("ux-mooc-comment-course-comment_comment-list_item_body")all=[]name=[]content=[]time_f=[]course_count=[]like_count=[]for i in info:all.append(i.text.split("\n"))for a in all:name.append(a[0])content.append(a[1])time_f.append(a[2])course_count.append(a[3])like_count.append(a[4])all_info=list(zip(name,content,time_f,course_count,like_count))save(all_info)def save(all_info):with open("mooc.csv","a+",newline="",encoding="utf-8") as f:w=csv.writer(f)for row in all_info:w.writerow(row)#分页采集保存到csv中if __name__ == '__main__':with open("mooc.csv","a+",newline="",encoding="utf-8") as f:w=csv.writer(f)w.writerow(["评论者","评论内容","发表时间","开课次数","点赞数"])driver=webdriver.Chrome()url='https://www.icourse163.org/course/ZJU-200001?from=searchPage&outVendor=zw_mooc_pcssjg_'spider(url)
http://www.hkea.cn/news/276863/

相关文章:

  • 医院网站制作优化关键词的方法有哪些
  • wordpress安装到网站吗泰安seo
  • 长春网站开发培训价格google play三件套
  • 做生存分析的网站有哪些国外新闻最新消息
  • 济南网站优化收费百度互联网营销
  • bootstrap响应网站模板下载发帖推广百度首页
  • 动态网站上的查询怎么做新媒体运营培训学校
  • 网站开发人员必备技能百度优化推广
  • 花都 网站建设百度推广怎么添加关键词
  • 开发公司成本部职责岗位职责和流程苏州网站建设优化
  • 湛江网站制作系统seo排名需要多少钱
  • 城乡现代社区建设seo关键词推广案例
  • 旅游网站开发外文文献关键洞察力
  • 大学生asp网站开发的实训周长沙百度快速优化
  • 黑龙江省建设网站百度投流运营
  • 网站关键词太多好不好兰州seo整站优化服务商
  • 义乌网站设计网店推广策划方案
  • 无锡网站优化工作室网站关键词排名优化推广软件
  • 长沙做网站的公司亚马逊seo什么意思
  • 仪征建设银行官方网站怎么优化一个网站
  • 那个网站可以查询美做空基金宁波网站推广平台效果好
  • 杨凌企业网站建设天津seo优化
  • 建设网站的工具免费b站在线观看人数在哪儿
  • 毕业设计餐饮网站建设国内前10电商代运营公司
  • 日本b2b网站市场调研的步骤
  • 强企网做网站网店推广有哪些
  • 博物馆网站建设策划书公司如何在百度宣传
  • 做cpa广告网站教程百度sem推广具体做什么
  • 免费网站建站WWW222国际军事最新消息今天
  • 做网站软件miscrosoft云服务器