python是真的牛逼,各种库使用起来非常简单,功能强大。在爬数据的时候遇到反爬虫时,可以使用Python通过selenium操作Chrome访问网页,就像人工操作一样,据说淘宝今日头条这些都是扛不住这样造的。
注意:此教程环境为centos7
首先安装chrome
复制
yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
查看chrome版本
复制
google-chrome -version
下载并安装chromedriver
使用浏览器打开下面的网站,找到和你上一步得到的chrome版本相似或一致的版本,并使用鼠标右键取得下载地址。
复制
http://chromedriver.storage.googleapis.com/index.html
我安装的是108.0.5359.124,chromedriver版本选择108.0.5359.71,使用wget命令下载到服务器
复制
wget http://chromedriver.storage.googleapis.com/108.0.5359.71/chromedriver_linux64.zip
解压,如果解压失败就自己手动解压吧
复制
unzip chromedriver_linux64.zip
移动到/usr/bin目录下
复制
mv chromedriver /usr/bin/
给执行权限
复制
chmod +x /usr/bin/chromedriver
检查chrome版本
复制
chromedriver --version
到此安装完成。
简单使用
复制
# -*- coding: UTF-8 -*- from retrying import retry from selenium import webdriver from selenium.webdriver.chrome.options import Options url='https://m.baidu.com/' ag = "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Mobile Safari/537.36" ch_options = Options() ch_options.page_load_strategy = 'eager' ch_options.add_argument('--no-sandbox') ch_options.add_argument('--disable-dev-shm-usage') ch_options.add_argument('--headless') ch_options.add_argument('user-agent=%s'%ag) rd = webdriver.Chrome(chrome_options=ch_options) rd.get(url) print(rd.page_source)
上面代码简单访问了移动版百度首页,使用时需安装python模块。
复制
pip3 install selenium pip3 install retrying
评论 (0)