Python3 使用selenium插件爬取蘇寧商家聯(lián)系電話(huà)
Selenium簡(jiǎn)介
Selenium是一個(gè)用于測(cè)試網(wǎng)站的自動(dòng)化測(cè)試工具,支持各種瀏覽器包括Chrome、Firefox、Safari等主流界面瀏覽器,同時(shí)也支持phantomJS無(wú)界面瀏覽器。
此處使用了selenium插件 使用的是火狐瀏覽器 信息存儲(chǔ)到csv表格里面
前面詳細(xì)不多講如果條件不滿(mǎn)足自行百度安裝
# -*- coding: utf-8 -*- """ Created on Wed Dec 11 20:21:04 2019 @author: Administrator """ from selenium import webdriver import time import random import csv import codecs #此處為要爬取的頁(yè)數(shù)默認(rèn)為 50頁(yè) yema = 50 #要爬取的網(wǎng)址 此處網(wǎng)址為搜索詳細(xì)產(chǎn)品出現(xiàn)的產(chǎn)品搜索結(jié)果頁(yè) #注意蘇寧搜索行業(yè)詞出現(xiàn)的產(chǎn)品頁(yè)面是不一樣的 wangzhi = "https://search.suning.com/%E4%BC%91%E9%97%B2%E9%A3%9F%E5%93%81/" #codevs 防止中文寫(xiě)入時(shí)亂碼 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): #打開(kāi)網(wǎng)頁(yè) browser.get(url) return(browser) browser = browser_1(wangzhi) #通過(guò)class找到元素 #input_guanggao = browser.find_element_by_class_name("close-btn") #點(diǎn)一下 #input_guanggao.click() #輸入 #input_txt.send_keys("111") #翻頁(yè)鍵 #next_page = browser.find_element_by_class_name("next") #數(shù)據(jù)提取 urls = [] nub = 1 for i in range(yema-1): print(i) #將滾動(dòng)條拖到底部 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,"頁(yè)") 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) #公司名稱(chēng) chead_companyName = browser_shop.find_element_by_id("chead_companyName") #電話(huà) 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("http://*[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("結(jié)束")
總結(jié)
以上所述是小編給大家介紹的Python3 使用selenium插件爬取蘇寧商家聯(lián)系電話(huà),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- python3+selenium自動(dòng)化測(cè)試框架詳解
- python selenium 彈出框處理的實(shí)現(xiàn)
- selenium python 實(shí)現(xiàn)基本自動(dòng)化測(cè)試的示例代碼
- Python Selenium 之關(guān)閉窗口close與quit的方法
- selenium+python自動(dòng)化測(cè)試之使用webdriver操作瀏覽器的方法
- Selenium chrome配置代理Python版的方法
- selenium+python實(shí)現(xiàn)自動(dòng)化登錄的方法
- Selenium(Python web測(cè)試工具)基本用法詳解
相關(guān)文章
如何利用Python+OpenCV實(shí)現(xiàn)簡(jiǎn)易圖像邊緣輪廓檢測(cè)(零基礎(chǔ))
輪廓是形狀分析和物體檢測(cè)和識(shí)別的有用工具,下面這篇文章主要給大家介紹了關(guān)于如何利用Python+OpenCV實(shí)現(xiàn)簡(jiǎn)易圖像邊緣輪廓檢測(cè)(零基礎(chǔ))的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05解決keras使用cov1D函數(shù)的輸入問(wèn)題
這篇文章主要介紹了解決keras使用cov1D函數(shù)的輸入問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06Python+unittest+DDT實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)測(cè)試
這篇文章主要介紹了Python+unittest+DDT實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)測(cè)試,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11運(yùn)行python提示no module named sklearn的解決方法
這篇文章主要介紹了運(yùn)行python提示no module named sklearn的解決方法,需要的朋友可以參考下2020-11-11python tkinter實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了python tkinter實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01