閱讀828 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Python爬蟲係列(一)初期學習爬蟲的拾遺與總結

一、環境搭建和工具準備

1、為了省去時間投入學習,推薦直接安裝集成環境 Anaconda

2、IDE:Pycharm、Pydev

3、工具:Jupyter Notebook(安裝完Anaconda會有的)

二、Python基礎視頻教程

1、瘋狂的Python:快速入門精講(Python2.x,可體驗到與Python3.x的差異)

2、零基礎入門學習Python

看完這些課程,自己對Python有一個感覺和掌握,可以繼續看一些進階教程

3、Python3大全(pasword:bf3e)

三、Python爬蟲視頻教程

1、Python網絡爬蟲實戰

2、Python3爬蟲三大案例實戰分享

四、Python爬蟲的相關連接

1、python爬蟲的最佳實踐

2、Python網絡爬蟲實戰項目代碼大全

3、零基礎製作一個Python 爬蟲

4、Python爬蟲入門

5、Python3

7、抓取鬥魚tv的房間信息

如果你想學習Python可以來這個群,首先是四七二,中間是三零九,最後是二六一,裏麵有大量的學習資料可以下載。

五、正則表達式和BeautifulSoup、PhatomJS +Selenium的使用

1、Python爬蟲小白入門

2、輕鬆自動化---selenium-webdriver(python)

3、 Python 正則表達式 re 模塊簡明筆記

4、【Python 筆記】selenium 簡介

5、Selenium Webdriver定位頁麵元素的幾種方式

6、 Python爬蟲利器Selenium+PhantomJS係列入門

7、Python爬蟲入門(7):正則表達式

六、自己爬取新浪新聞相關信息的實戰

Python爬蟲係列(一)初期學習爬蟲的拾遺與總結

爬取頁麵

我直接把源碼貼在這裏了,是參考Python網絡爬蟲實戰課程做下來的

新聞評論數抽取函數

import re

import json

import requests

#js抓取新聞評論信息

commentURL='https://comment5.news.sina.com.cn/page/info?version=1&format=js&\

channel=gn&newsid=comos-{}&\

group=&compress=0&ie=utf-8&oe=utf-8&page=1&page_size=20&jsvar=loader_1491395188566_53913700'

def getCommentCounts(newsurl):

#獲取新聞id

m=re.search('doc-i(.+).shtml',newsurl)

newsid=m.group(1)

#根據新聞id獲取評論信息

comments=requests.get(commentURL.format(newsid))

#將信息解析為json格式

jd=json.loads(comments.text.strip('var loader_1491395188566_53913 700='))

return jd['result']['count']['total']

Python爬蟲係列(一)初期學習爬蟲的拾遺與總結

新聞內文信息抽取函數

import requests

from datetime import datetime

from bs4 import BeautifulSoup

def getNewsDetail(newsurl):

result={}

res=requests.get(newsurl)

res.encoding='utf-8'

soup=BeautifulSoup(res.text,'html.parser')

result['title']=soup.select('#artibodyTitle')

timesource=soup.select('.time-source')[0].contents[0].strip()

result['dt']=datetime.strptime(timesource,'%Y年%m月%d日%H:%M')

result['source']=soup.select('.time-source span a')[0].text

result['article']=' '.join([p.text.strip() for p in soup.select('#artibody p')[:-1]])

result['editor']=soup.select('.article-editor')[0].text.lstrip('責任編輯:')

return result

Python爬蟲係列(一)初期學習爬蟲的拾遺與總結

七、感想

這些天學習下來,Python爬蟲思路和套路很明確,主要是我們要對不同網站(反爬等)設計不同爬取路線和方法,但是還是要求自己總結方法和積累知識吧,還有一點自己也希望能把爬蟲運用到實際生活或者應用中(如果單純的抽取一個網頁信息其實沒多大意思),比如嚐試應用到批量下載一個網站的圖片或者文件等等,讓爬蟲為我們服務。

最後更新:2017-04-17 11:00:29

  上一篇:go mac係統下maven的配置使用
  下一篇:go 創業公司如何做數據分析(五)微信分享追蹤係統