python+selenium實現百度關鍵詞搜索自動化操作


緣起

之前公司找外面網絡公司做某些業務相關關鍵詞排名,了解了一下相關的情況,網絡公司只需要我們提供網站地址和需要做的關鍵詞即可,故猜想他們采取的方式應該是通過模擬用戶搜索提升網站權重進而提升排名。

不過后續公司的網站卡在第二頁那個公司一直也沒能把排名做到首頁,因為趕巧百度推出了驚雷算法打擊這種刷排名的方式。

但這個算法實際的打擊面應該並不會很精准,現在也依然還有很多公司在做這方面的業務。

之前接觸到selenium,了解了一些基本的功能,今天嘗試實現一下百度搜索相關關鍵詞然后定位目標網站進行訪問等基本操作。

注意事項

既然說到刷,必然涉及到使用海量的IP。

  • 自建IP池

一般可以自己搭建IP池,通過程序爬取各類免費IP網站上的IP和端口號,然后進行驗證,可以用的就入庫,不能用的就刪掉。

但是免費的永遠是最最貴的,雖然搭建比較簡單,但IP的有效率很低且能用的基本速度也非常慢。

  • 購買IP

現在有很多IP服務商都提供爬蟲接口,我試用過芝麻、牛魔、IP精靈、站大爺、ET等很多提供此類服務的服務商家的測試套餐,然鵝基本上都比我自建的IP池的質量都差,當然沒有購買過收費套餐就暫不評論。

但是我就是想做個學習的測試就沒有必要購買此類收費服務了,不過我發現了個非常靠譜的IP服務商。。他們家的免費測試的IP都能直接看愛奇藝720p,真心666,只想低調使用就不透漏了。

代碼部分


from selenium import webdriver
import requests,time

#自建IP池
def get_proxy():
    r = requests.get('http://127.0.0.1:5555/random')
    return r.text

# 使用兔子IP免費爬蟲代理
import random

FILE = './tuziip.txt'  # 讀取的txt文件路徑

# 獲取代理IP
def proxy_ip():
    ip_list = []
    with open(FILE, 'r') as f:
        while True:
            line = f.readline()
            if not line:
                break
            ip_list.append(line.strip())
    ip_port = random.choice(ip_list)
    return ip_port


def bd():
    chromeOptions = webdriver.ChromeOptions()

    # 設置代理
    chromeOptions.add_argument("--proxy-server=http://"+proxy_ip())
    # 一定要注意,=兩邊不能有空格,不能是這樣--proxy-server = http://202.20.16.82:10152
    browser = webdriver.Chrome(chrome_options = chromeOptions)

    # 查看本機ip,查看代理是否起作用
    browser.get("https://www.baidu.com/")
    browser.find_element_by_id("kw").send_keys("ip")
    browser.find_element_by_id("su").click()
    time.sleep(2)
    browser.find_element_by_id("kw").clear()
    time.sleep(1)
    browser.find_element_by_id("kw").send_keys("ip代理")
    browser.find_element_by_id("su").click()
    time.sleep(2)
    browser.find_element_by_id("kw").clear()
    time.sleep(1)
    browser.find_element_by_id("kw").send_keys("兔子ip代理")
    browser.find_element_by_id("su").click()
    time.sleep(2)
    browser.find_element_by_id("kw").clear()
    time.sleep(1)
    browser.close()
    # 退出,清除瀏覽器緩存
    browser.quit()
if __name__ ==  "__main__":
    while True:
        print(proxy_ip)
        bd()

運行程序,程序可自動打開瀏覽器,進入百度,搜索關鍵詞IP,停頓2秒,清除搜索框內容,停一秒輸入“IP代理”,然后停頓、清除、再搜索"兔子IP",然后清楚緩存退出瀏覽器,再更換IP開始新一輪。

如果要實現搜索目標關鍵詞,選擇目標網站點擊進入目標網站,就需要使用selenium相關的元素選擇了,這個就不多介紹了,很簡單看下selenium的相關文檔就ok了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM