Linux系統下安裝Python爬蟲環境+模擬瀏覽器插件

一、服務器版本

       Centos7以上版本

二、配置python環境

1、安裝依賴包

yum -y install gcc gcc-c++
yum -y install zlib zlib-devel
yum -y install bzip2 bzip2-devel
yum -y install ncurses ncurses-devel
yum -y install readline readline-devel
yum -y install openssl openssl-devel
yum -y install openssl-static
yum -y install xz lzma xz-devel
yum -y install sqlite sqlite-devel
yum -y install gdbm gdbm-devel
yum -y install tk tk-devel

2、下載anaconda

       下載anaconda安裝包命令如下:

$ wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.0.1-Linux-x86_64.sh

       安裝過程可參考:https://blog.csdn.net/zhaoyoulin2016/article/details/80776198

  • 首先通過xftp將下載好的Anaconda3_linux源文件放到/usr/local文件夾內;
  • cd /usr/local  執行如下代碼:bash  Anaconda3-5.2.0-Linux-x86_64.sh
  • 根據提示輸入ENTER

如果報錯如下:

Anaconda3安裝過程中遇到“Anaconda3-5.1.0-Linux-x86_64.sh:行350: bunzip2: 未找到命令 tar: 它似乎不像是一個 tar 歸檔文件 tar: 由於前次錯誤,將以上次的錯誤狀態退出”

Anaconda3-5.1.0-Linux-x86_64.sh:行350: bunzip2: 未找到命令 tar: 它似乎不像是一個 tar 歸檔文件 tar: 由於前次錯誤,將以上次的錯誤狀態退出

解決辦法:

安裝bzip2即可解決

yum install -y bzip2

  • 輸入yes
  • 安裝完後增加環境變量

vim /root/.bashrc

# added by Anaconda3 4.4.0 installer

export PATH="/root/anaconda3/bin:$PATH"

  • 重啓環境變量配置

source /root/.bashrc

  • 安裝完成之後,命令行輸入python,查看python版本是否是3.6,如果是則安裝成功。如下。

3、安裝所需要的python包

       涉及到如下的python庫:

環境

版本

Python

Python3.6     版本

re

Python自帶(2.2.1)

time

Python自帶

warnings

Python自帶

psycopg2

2.7.7

requests

2.18.4

pandas

0.23.4

BeautifulSoup

4.6.3

impala

0.14.1

python-LevenshteinLevenshtein

0.12.0

selenium

3.141.0

zhconv

 

3.1、首先安裝python庫

       使用pip安裝。

pip install --upgrade pip
pip install beautifulsoup4
pip install selenium
pip install psycopg2
pip install requests
pip install pandas
pip install Levenshtein
pip install zhconv

       導入安裝的python庫,並測試psycopg2是否可以連接數據庫,使用本地的一個數據庫進行測試。測試代碼如下。

import requests
import re
import pandas as pd
from bs4 import BeautifulSoup
import selenium
import psycopg2
import Levenshtein
import zhconv
conn = psycopg2.connect(database="zjsm", user="postgres", password="root", host="192.168.0.12", port="5432")

3.2impala的安裝

       由於本項目的數據需要與hive數據庫連接,故安裝impala庫。先下載所需的安裝包。

pip install pure_sasl==0.5.1
pip install thrift==0.9.3
pip install bitarray==0.8.3
pip install thrift_sasl==0.2.1
pip install thriftpy==0.3.9
pip install impyla==0.14.1

       若出現問題,可參考https://blog.csdn.net/wx0628/article/details/86550582

       測試是否安裝成功,可以嘗試連接一個本地的hive。測試代碼如下。

from impala.dbapi import connect
from impala.util import as_pandas
conn = connect(host='192.168.111.87', port=10000, auth_mechanism='PLAIN', user='root', password='3.1415926', database='zjsm')

3.3、谷歌瀏覽器以及對應的驅動安裝:chromedriver.exe

       安裝谷歌瀏覽器,這裏使用文件夾裏提供的版本google-chrome-stable_current_x86_64.rpm,只需要將該軟件包上傳到服務器然後使用如下命令安裝:yum localinstall google-chrome-stable_current_x86_64.rpm。

       將文件夾裏提供的chromedriver上傳到服務器,可以放到用戶目錄下,比如/root/anaconda3目錄,然後設置權限,輸入命令:chmod 777 chromedriver。

       可以將search_url,即https://so.youku.com/search_video/q_少帥放到瀏覽器搜索,查看是不是少帥,然後將代碼最終輸出的https://list.youku.com/show/id_z2a6634cea23d11e5b692.html連接使用瀏覽器測試是不是期望的結果。測試代碼如下。

from selenium import webdriver
from bs4 import BeautifulSoup
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
driver = webdriver.Chrome(executable_path="/root/chromedriver",chrome_options=options)
search_url='https://so.youku.com/search_video/q_少帥'
driver.get(search_url)
html = driver.page_source
soup = BeautifulSoup(html, 'lxml')
url=soup.select('.row-ellipsis a')[0].get('href')
print(url)#得到:https://list.youku.com/show/id_z2a6634cea23d11e5b692.html

 

文章未經博主同意,禁止轉載!

 

發佈了44 篇原創文章 · 獲贊 44 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章