1. 程式人生 > >python爬取網頁資料

python爬取網頁資料

前言:

轉載請註明出處。

注意事項:請於作者下載的版本保持一致

    如有細節不瞭解可對比參考python基礎教程:例如系統不一致(Windows/Unix/Linux)

環境:

我的電腦是windows系統64位,如有不同可根據電腦系統自行選擇合適的版本下載

    我用的是Pycharm 2018.1.4 ,因為剛學,一下單詞記不住需要提示。而notepad++需要自己手打而沒有選擇。

想簡單點可以選擇notepad++,想偷懶可以選擇Pycharm(前提是比較熟悉這個IDE的基礎功能)

    對了,Pycharm需要註冊碼,一般有兩種方式:註冊碼和本地搭建伺服器授權,我這裡只提供我自己用的一種方式:註冊碼


第一步點選獲取註冊碼,

第二步把“0.0.0.0 account.jetbrains.com”新增到hosts檔案中。

hosts檔案目錄一般位於
C:\Windows\System32\drivers\etc
最後一步就是把獲取到的註冊碼複製貼上到開啟Pycharm後的Actication code 裡面

電腦系統環境:windows 7

一、初始準備

下載python

我的目錄為D:\Program Files (x86)\Python27

下載完後記住你的python的安裝目錄

配置環境變數:

找到計算機點選滑鼠右鍵選擇屬性:然後出現如下圖,依次雙擊

最後找到Path,編輯變數值,在最後面加上

;D:\Program Files (x86)\Python27;D:\Program Files (x86)\Python27\Scripts;

注意如果變數值最後面已經有“;”就不需要再加";"。

其中D:\Program Files (x86)\Python27 這個是你python的路徑,讓你方便執行python命令

例如看是否安裝好,以及看python版本,直接輸入cmd命令:python

C:\Users\Administrator>python
會顯示python版本,並進入python互動器(互動式直譯器)模式

其中D:\Program Files (x86)\Python27\Scripts;這個是一些可執行檔案目錄,我主要是為了更方便執行pip命令來下載相關包


這下準備工作大功告成了,為自己鼓掌!!

二、需要了解的python知識

pip命令:本次學習主要用到的命令,安裝第三方庫

pip install -U <包名>

需要安裝的包:每個包的作用自行百度瞭解

import requests
import sys
import re
from lxml import etree

安裝命令:(前提配置了D:\Program Files (x86)\Python27\Scripts;這個目錄到Patn,如沒有請進入這麼目錄在輸入下面命令)

pip install requests
pip install sys
pip install re
pip install lxml

我這個是已經下載了,


三、爬取資料

例項一:爬取csdn首頁的推薦欄標題

話不多說直接上程式碼

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import sys
import requests
from lxml import etree
reload(sys)
sys.setdefaultencoding("utf-8")


def _request(url, encoding='utf-8'):
    response = requests.get(url)
    response.encoding = encoding
    html = response.text
    return etree.HTML(html)


html = _request('https://www.csdn.net/')

recommend_title = html.xpath("//div[@class='nav_com']//a/text()")
print(len(recommend_title))
for title in recommend_title:
    print(title)

其中重點是隨時要注意的編碼。

這時候有人要問為什麼不用正則來篩選?

我是個相對而言喜歡簡單明瞭一點的,所以用xpath來篩選資料。

具體喜歡用什麼方式因人而已吧,只要能篩選出你需要的資料,就是好的。

例項二:網上還有一些用scrapy框架來爬取資料的我這裡也略帶提一下

參考網上的scrapy框架的同學可能煩的時pip install scrapy 這個下載不下來,這就是版本的重要性了,你如果用的是我說的python版本,只需一個pip install scrapy命令,就ok了,不用煩惱別的。

scrapy專案的建立:scrapy startproject 專案名

scrapy startproject projectDemo


然後在E:\scrapy目錄下就會出現該專案。專案結構如圖