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網絡爬蟲實戰課程做下來的
新聞評論數抽取函數
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']
新聞內文信息抽取函數
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爬蟲思路和套路很明確,主要是我們要對不同網站(反爬等)設計不同爬取路線和方法,但是還是要求自己總結方法和積累知識吧,還有一點自己也希望能把爬蟲運用到實際生活或者應用中(如果單純的抽取一個網頁信息其實沒多大意思),比如嚐試應用到批量下載一個網站的圖片或者文件等等,讓爬蟲為我們服務。
最後更新:2017-04-17 11:00:29