Python爬蟲系列(一)初期學習爬蟲的拾遺與總結
最近,為了提取裁判文書網的有關信息,自己邁入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(csdn博客)
7、抓取鬥魚tv的房間信息
五、正則表達式和BeautifulSoup、PhatomJS +Selenium的使用
1、Python爬蟲小白入門
2、輕鬆自動化---selenium-webdriver(python)
3、Python 正則表達式 re 模塊簡明筆記
4、【Python 筆記】selenium 簡介
5、Python爬蟲入門(7):正則表達式
(大家可以關注寫這些文章的作者,一般他們有Python文集,大家可以收藏下有參考價值的文章)
六、自己爬取新浪新聞相關信息的實戰
爬取頁面
我直接把源碼貼在這裡了,是參考Python網路爬蟲實戰課程做下來的
新聞評論數抽取函數
import re
import json
import requests
#js抓取新聞評論信息
commentURL="http://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爬蟲思路和套路很明確,主要是我們要對不同網站(反爬等)設計不同爬取路線和方法,但是還是要求自己總結方法和積累知識吧,還有一點自己也希望能把爬蟲運用到實際生活或者應用中(如果單純的抽取一個網頁信息其實沒多大意思),比如嘗試應用到批量下載一個網站的圖片或者文件等等,讓爬蟲為我們服務。
(ps:自己會持續更新和補充內容,也換大家留言補充)
推薦閱讀:
※pandas 怎麼根據一列的數據的值的情況判斷來生成另外一列的數值?
※如何用 python 解析三層結構 XML?
※python與numpy使用的一些小tips[7]
※【小林的OpenCV基礎課 16】直方圖/一定會再次啟程
※用線性回歸預測灣區的房屋價格