1.购买云服务器,选择系统镜像centos、Ubuntu、debian和windowR12
2.云服务器控制设置root密码
3.使用xshell、putty和webshell连接远程主机
4.添加新的用户组和用户,创建新的密钥连接,xshell 创建的公钥放到用户目录下的.ssh文件
vi authorized_keys//创建文件
cat PKI.pub > authorize_keys //拷贝公钥到authorized_keys文件
5.关闭root用户远程连接,更改ssh默认端口,更改云服务器控制台入站规则,添加指定端口
vi /etc/ssh/sshd_config
PermitRootLogin no//禁止远程登陆root账户
Port ***//更改默认端口
systemctl restart sshd//重启服务
6.添加sudo程序
apt-get update//更新包管理器
apt-get install sudo//添加sudo命令
7.安装python3
sudo apt-get install -y python3-dev build-essential libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev libcurl4-openssl-dev//安装基础库
sudo apt-get install y python3//安装Python3
sudo apt-get install -y python3-pip//安装pip3管理
8.爬虫工具初始化
抓取页面工具,这里选择用selenium,配合chrome和chromeDriver完成抓包
pip3 install selenium//自动化测试工具
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb//安装chrome
sudo apt install ./google-chrome-stable_current_amd64.deb
wget http://npm.taobao.org/mirrors/chromedriver/88.0.4324.96/chromedriver_linux64.zip//安装chromedriver
unzip chromedriver_linux64.zip
chmod +x chromedriver
mv chromedriver /usr/bin/ //配置环境变量
完成配置后,使用无头模型进行测试
from selenium import webdriver
print('start')
opt = webdriver.ChromeOptions()
opt.headless = True
opt.add_argument('--no-sandbox')
opt.add_argument('--disable-gpu')
opt.add_argument('--hide-scrollbars')
opt.add_argument('blink-settings=imagesEnabled=false')
driver= webdriver.Chrome('/usr/bin/chromedriver',options=opt)
driver.get('https://baidu.com')
print(driver.title)
print('finished')
driver.quit()
#print(driver.page_source)
9.安装Xvfb(一个虚拟界面工具)
sudo apt install xvfb
启动Xvfb
Xvfb :99 -ac 2>/dev/null &
安装Xvfb的python封装包
pip3 install pyvirtualdisplay
安装中文字体
拷贝windows中的字体到Debian服务器
C:\Windows\Fonts \\windows字体文件目录,选择相应的字体目录,拷贝到下面的目录里
mv simsun.ttc simsun.ttf\\更改文件后缀
mkdir /usr/share/fonts/chinese \\创建中文字体目录
mkdir /usr/share/fonts/chinese/truetype \\创建字体目录
chmod 775 /usr/share/fonts/chinese/truetype/simsun.ttf\\更改字体文件属性
mkfontscale\\建立字体缓存
mkfontdir
fc-cache -fv
fc-list\\查看字体列表
启动selenium截图测试
from pyvirtualdisplay import Display
from selenium import webdriver
import time
from selenium.webdriver.chrome.options import Options
display = Display(visible=0, size=(1600, 900))
#display = Display(visible=0)
display.start()
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
driver = webdriver.Chrome(options=chrome_options)
url = "https://news.qq.com/a/20190626/003510.htm"
driver.get(url)
driver.save_screenshot(driver.title + '.png')
print (driver.title)
/*
#获得页面长度和宽度,截取全部网页
driver.set_window_size(1028,3210)
body_element = driver.find_elements_by_tag_name('body')
body_height = body_element[0].size.get('height')
body_width = body_element[0].size.get('width')
if body_height and body_width and int(body_height) > 0 and int(body_width) > 0:
print("set_window_size")
driver.set_window_size(int( body_width),int(body_height))
print(body_height,body_width)
imgpath = driver.title[:5] + ".png"
driver.save_screenshot(driver.title + '.png')
driver.save_screenshot(imgpath)
print (imgpath)
*/
driver.quit()
print("end with quit")
10.安装x11vnc,虚拟网络控制台,远程控制工具,包括两部分服务器端程序和客户端程序
sudo apt-get install x11vnc
启动Xvfb(在没有显示设备的主机上运行图形化的界面程序),第5屏
Xvfb :5 -screen 0 1920x1080x24 &
设置x11vnc密码,启动到第5屏,映射端口5905(默认端口5900)
x11vnc -storepasswd
x11vnc -display :5 -once -loop -noxdamage -repeat -rfbauth ~/.vnc/passwd -rfbport 5905 -shared -scale 1920x1080 &
安装git,clone novnc项目
noVNC访问服务器上的vncserver,将tcp转为websocket(websockify),提供html网页的Canvas,网页就成为了客户端
apt install git
git clone https://github.com/novnc/noVNC.git
cd noVNC
#https://github.com/novnc/websockify.git
git clone https://github.com/novnc/websockify-js.git
./utils/launch.sh --vnc localhost:5905 &
安装浏览器,启动
apt install firefox
firefox --display :5 -fullscreen -no-remote -P default -new-window http://www.baidu.com 2> /dev/null
浏览器访问
http://159.75.89.159/:6080/vnc.html
11.git修改配置
//绑定cdn
vi /etc/hosts
//http://github.global.ssl.fastly.net.ipaddress.com/#ipinfo
199.232.69.194 http://github.global.ssl.fastly.net
//http://github.com.ipaddress.com/#ipinfo
140.82.113.4 http://github.com
//刷新cdn缓存
sudo /etc/init.d/networking restart
//修改通讯缓存大小
git config --global http.postBuffer 524288000
//修改配置文件
gedit ~/.bashrc
//添加
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1
//配置文件生效
source ~/.bashrc
//clone深度只为1
git clone https://github.com/JGPY/large-repository.git --depth 1
参考链接