类的应用--天猫、苏宁易购数据的自动化爬取和保存--学生系统

天猫数据的自动化爬取

#天猫商品信息
#从selenium中引入webdriver
from selenium import webdriver
import time#声明一个类
class TianMao(object):#初始化时,传递要查询的关键词def __init__(self,keyword):self.keyword=keyworddef start_taobao(self):#1.创建firefox浏览器对象driver=webdriver.Firefox()#2.打开淘宝网址driver.get('http://www.tianmao.com')#3.通过id找到输入框search_input=driver.find_element_by_id('mq')#4.输入搜索内容search_input.send_keys(self.keyword)
注意:

        #5.通过class找到搜索按钮search_btn=driver.find_element_by_css_selector('button[type="submit"]')

        #6.点击搜索按钮search_btn.click()#休眠2秒time.sleep(2)#1.打开文件 encoding=utf-8 指定文件的字符编码file_handle=open('%s.txt'%self.keyword,'w',encoding='utf-8')for x in range(1,3):print('正在获取第%s页数据,请稍后......'%x)#for 循环执行5次for x in range(1,11,2):#休眠1秒time.sleep(1)#把x转换小数j=x/10#拼接让浏览器滚动的js代码#%f float类型数据占位符js='document.documentElement.scrollTop = document.documentElement.scrollHeight *%f '%j#执行让浏览器滚动的js代码driver.execute_script(js)#查找当前页所有的商品信息,返回的是一个列表(elements查找多个)#电脑,鼠标、键盘.........class_name填写 info-cont#其他的产品........class_name填写 J_MouserOnverReqshops=driver.find_elements_by_class_name('product')print(len(shops))#如果没有找到数据,换另一种方式去找# if len(shops)==0:#     shops = driver.find_elements_by_class_name('info-cont')#for循环遍历列表,取出每一个商品的信息for shop in shops:#输出查看商品信息# print(shop.text)file_handle.write(shop.text)file_handle.write('\n\n')# 找到下一页,点击next=driver.find_element_by_class_name('ui-page-next')next.click()# 3.关闭文件# 退出浏览器driver.quit()
#输出
# print(__name__)
#__name__值为__main__表示是从当前文件直接运行
#__name__ 值为  当前文件名称 表示别的文件引用执行的
#如果是从当前文件直接运行的,执行以下代码
if __name__=='__main__':keyword=input('请输入查询关键词:')tm=TianMao(keyword)tm.start_taobao()

苏宁易购数据爬取

from selenium import webdriver
import


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部