数据采集第五次大作业

发布时间:2022-06-29 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了数据采集第五次大作业脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

作业①: 要求: 熟练掌握 Selenium 查找HTML元素、爬取Ajax网页数据、等待HTML元素等内容。 使用Selenium框架爬取京东商城某类商品信息及图片。 候选网站:http://www.jd.COM/ 关键词:学生自由选择 输出信息:MySQL的输出信息如下:

mNo mMark mPRice mNote mFile
000001 三星Galaxy 9199.00 三星Galaxy Note20 Ultra 5G... 000001.jpg
000002......
解题步骤(本题为代码复现)
本题主要需要注意的是处理爬取时的特殊情况
 try:
                    note = li.find_element_by_xpath(".//div[@class='p-name p-name-tyPE-2']//em").text
                    mark = note.splIT(" ")[0]
                    mark = mark.replace("爱心东东n", "")
                    mark = mark.replace(",", "")
                    note = note.replace("爱心东东n", "")
                    note = note.replace(",", "")

                except:
                    note = ""
                    mark = ""

有时会出现一些无关文本,需要替换或去除

  • 运行结果: 1)终端结果

    数据采集第五次大作业

    2)数据库结果

    数据采集第五次大作业

    3)文件夹图片保存结果

    数据采集第五次大作业

  • 实验心得 1)熟悉selenium爬取并存取数据库和下载图片 2)强化了处理一些特殊文本的意识 代码地址:https://gitee.com/zhubeier/zhebeier/blob/master/第五次大作业/第一题 作业②: 要求: 熟练掌握 Selenium 查找HTML元素、实现用户模拟登录、爬取Ajax网页数据、等待HTML元素等内容。 使用Selenium框架+MySQL模拟登录慕课网,并获取学生自己账户中已学课程的信息保存到MySQL中(课程号、课程名称、授课单位、教学进度、课程状态,课程图片地址),同时存储图片到本地项目根目录下的imgs文件夹中,图片的名称用课程名来存储。 候选网站:中国mooc网:https://www.icourse163.org 输出信息:MYSQL数据库存储和输出格式 ​ 表头应是英文命名例如:课程号ID,课程名称:cCourse……,由同学们自行定义设计表头:
Id cCourse cCollege cSchedule cCoursestatus cImgUrl
1 Python网络爬虫与信息提取 北京理工大学 已学3/18课时 2021年5月18日已结束 http://edu-image.nosdn.127.net/C0AB6FA791150F0Dfc0946B9A01C8CB2.jpg
2......

解题步骤: STEP1 在mysql建立mooc数据库以及表MC,然后建立数据库连接

数据采集第五次大作业

STEP2 模拟chrome浏览器登录Mooc

driver = webdriver.Chrome()
driver.get('https://www.icourse163.org')
driver.maximize_window()
time.sleep(2)
driver.find_element_by_xpath('//*[@id="app"]/div/div/div[1]/div[3]/div[3]/div').click()
time.sleep(2)
driver.find_element_by_xpath('//*[@class="zcnt"]/div/div/div/div/div[2]/span').click()
driver.find_element_by_xpath('//*[@class="mooc-login-set"]/div/div/div[1]/div/div[1]/div[1]/ul/li[2]').click()
time.sleep(1)
driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[1])#登录界面是一个嵌套在html里的另一个html文件,必须要切换
idinput = driver.find_element_by_xpath('//*[@id="phoneipt"]').send_keys("18133010322")
time.sleep(1)
passwdinput = driver.find_element_by_xpath('//*[@class="j-inputtext dlemail"]')
passwdinput.send_keys("Zbenotfound404")
time.sleep(1)
driver.find_element_by_xpath('//*[@id="submitBTn"]').click()
time.sleep(3)

STEP3 进入“我的课程”页面,找到对应属性的xpath路径,开始爬取

driver.find_element_by_xpath('//*[@id="privacy-ok"]').click()
driver.find_element_by_xpath('//*[@id="app"]/div/div/div[1]/div[3]/div[4]/div').click()
cCourse_list = driver.find_elements_by_xpath('//*[@class="course-card-wrapper"]/div/a/div[@class="img"]/img')
cCollege_list = driver.find_elements_by_xpath('//*[@class="course-card-wrapper"]/div/a/div[@class="body"]/div[1]/div[@class="school"]/a')
cSchedule_list = driver.find_elements_by_xpath('//div[@class="course-card-wrapper"]//div[@class="box"]//div[@class="body"]//div[@class="text"]//a/span')
cCourseStatus_list = driver.find_elements_by_xpath('//*[@class="course-card-wrapper"]/div/a/div[@class="body"]/div[2]/div[@class="course-status"]')
img_url = driver.find_elements_by_xpath('//*[@class="course-card-wrapper"]/div/a/div[@class="img"]/img')
for i in range(len(cCourse_list)):
    cCourse = cCourse_list[i].get_attribute('alt')
    cCollege = cCollege_list[i].text
    cSchedule = cSchedule_list[i].text
    #print(cSchedule)
    cCourseStatus = cCourseStatus_list[i].text
    clmgUrl = img_url[i].get_attribute('src')
    print(cCourse+"t"+cCollege+"t"+cSchedule+"t"+cCourseStatus+'t'+clmgUrl+'t')
    cursor.execute("insert into mc values (%s,%s,%s,%s,%s,%s)",(i+1,cCourse,cCollege,cSchedule,cCourseStatus,clmgUrl))
    db.commit()

运行结果: 1)终端结果:

数据采集第五次大作业

2)数据库结果:

数据采集第五次大作业

3)图片保存结果:

数据采集第五次大作业

  • 实验心得: 1)selenium是模拟用户操作网页,比较直观,容易理解。更加熟悉了selenium点击->定位->爬取的过程 2)了解了登录界面有一个“iframe”,即文档中的文档,在定位其中的元素时需要先定位到“iframe”标签并转换过去 代码地址:https://gitee.com/zhubeier/zhebeier/blob/master/第五次大作业/第二题 作业③:Flume日志采集实验

要求:掌握大数据相关服务,熟悉Xshell的使用 完成文档 华为_大数据实时分析处理实验手册-Flume日志采集实验(部分)v2.docx 中的任务,即为下面5个任务,具体操作见文档。 环境搭建 任务一:开通Mapreduce服务 实时分析开发实战: 任务一:Python脚本生成测试数据 任务二:配置Kafka 任务三:安装Flume客户端 任务四:配置Flume采集数据 过程截图: 任务一:python脚本生成测试数据

数据采集第五次大作业

任务二:配置kafka

数据采集第五次大作业

任务三:安装Flume客户端

数据采集第五次大作业

进入目录

数据采集第五次大作业

解压压缩包

数据采集第五次大作业

解压“MRS_Flume_Clientconfig.tar”文件

数据采集第五次大作业

安装Flume环境变量

数据采集第五次大作业

解压Flume客户端

数据采集第五次大作业

安装 FLume客户端

数据采集第五次大作业

重启Flume服务

数据采集第五次大作业

任务四:配置Flume采集数据

数据采集第五次大作业

数据采集第五次大作业

实验心得: 1)初步接触了基于华为云的实验,初次感受到“云”的概念

脚本宝典总结

以上是脚本宝典为你收集整理的数据采集第五次大作业全部内容,希望文章能够帮你解决数据采集第五次大作业所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。