脚本宝典收集整理的这篇文章主要介绍了数据采集第五次大作业,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
作业①: 要求: 熟练掌握 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 = ""
有时会出现一些无关文本,需要替换或去除
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浏览器登录Moocdriver = 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)图片保存结果:要求:掌握大数据相关服务,熟悉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,请注明来意。