Python3 使用selenium插件爬取苏宁商家联系电话
Python  /  管理员 发布于 7年前   181
Selenium简介
Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。
此处使用了selenium插件 使用的是火狐浏览器 信息存储到csv表格里面
前面详细不多讲如果条件不满足自行百度安装
# -*- coding: utf-8 -*-"""Created on Wed Dec 11 20:21:04 2019@author: Administrator"""from selenium import webdriverimport timeimport randomimport csvimport codecs#此处为要爬取的页数默认为 50页yema = 50#要爬取的网址 此处网址为搜索详细产品出现的产品搜索结果页#注意苏宁搜索行业词出现的产品页面是不一样的wangzhi = "https://search.suning.com/%E4%BC%91%E9%97%B2%E9%A3%9F%E5%93%81/"#codevs 防止中文写入时乱码f = codecs.open('suning.csv','a',encoding='utf-8')csv_writer = csv.writer(f)#谷歌#browser = webdriver.chrom.webdirver.WebDriver(executable_path="chromedriver")#火狐browser1 = webdriver.Firefox(executable_path="geckodriver")def browser_1(url,browser=browser1): #打开网页 browser.get(url) return(browser)browser = browser_1(wangzhi)#通过class找到元素#input_guanggao = browser.find_element_by_class_name("close-btn")#点一下#input_guanggao.click()#输入#input_txt.send_keys("111")#翻页键#next_page = browser.find_element_by_class_name("next")#数据提取urls = []nub = 1for i in range(yema-1): print(i) #将滚动条拖到底部 js="var q=document.documentElement.scrollTop=100000" browser.execute_script(js) time.sleep(random.randint(5,10)) shops = browser.find_elements_by_class_name("sellPoint") for shop in shops: #print(shop) #print("*"*10) url = shop.get_attribute('href') vip = "/0000000000/" if vip not in url: urls.append(url) print(i,"--",nub,"--",url) nub += 1 print(i,"页") i += 1 js="var q=document.documentElement.scrollTop=500" browser.execute_script(js) time.sleep(random.randint(3,5)) next_page = browser.find_element_by_class_name("next") time.sleep(random.randint(3,5)) next_page.click() time.sleep(random.randint(5,8))print("---"*10)for ul in urls: browser_shop = browser_1(ul) #公司名称 chead_companyName = browser_shop.find_element_by_id("chead_companyName") #电话 chead_telPhone = browser_shop.find_element_by_id("chead_telPhone") #地址 chead_companyAddress = browser_shop.find_element_by_id("chead_companyAddress") browser_shop.find_element_by_class_name("storname").click() #chead_telPhone.find_element_by_xpath("//*[contains(text(),'13816391436')]").click() companyName = chead_companyName.text if companyName == "": companyName = "null" telPhone = chead_telPhone.text if telPhone == "": telPhone = "null" companyAddress = chead_companyAddress.text if companyAddress == "": companyAddress = "null" print(companyName,"==",telPhone,"==",companyAddress) csv_writer.writerow([companyName,telPhone,companyAddress]) #browser_shop.close()f.close()print("结束")
总结
以上所述是小编给大家介绍的Python3 使用selenium插件爬取苏宁商家联系电话,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号