編程坑
1. 爬個別特定網站,不一定得用python寫爬蟲,多數情況wget一條命令多數網站就能爬的不錯,真的玩到自己寫爬蟲了,最終遇到的無非是如何做大做壯,怎麼做分布式爬蟲。scrapy這種價值接近0,非同步或者多線程搞抓取,選一個成熟的基於磁碟的隊列庫,kafka之類的,scrapy幫了啥?
2. http庫眾多,還有gevent庫monkey patch以後coroutine的玩這一選擇,規模千萬的話urllib3很好。
3. 對付網站的諸如登錄、ajax,這種不過是體力民工活,不展開了。
4. 速度很重要,放ec2或者國內的雲上跑,很重要的指標是你每一億網頁爬下來成本多少,爬的時候比如4核一個虛擬機節點,你能inbound貸款用足100mbps嗎。
5. beautifulsoup太慢,全網的爬,encoding的分析也要要快,c實現的chardet還行
最關鍵的,永遠是爬下來以後的信息的提取、分析、使用,就是另外一個話題了。
1.學會使用chrome瀏覽器查看通信以及查看元素格式
2.增加User-Agent, 這是最簡單的反爬措施了
3.寫爬蟲最好使用Ipython,在互動式的環境下,可以時刻了解自己問題具體出在哪裡
4.使用requests
5.用get或者post下好html之後,要確認你需要的東西html裡面有,而不是之後用ajax或者javascript載入的。
6.解析的話,BeautifulSoup不錯。對於少數非常特殊的,可以考慮用re。
7,需要大量採集數據的話,學會使用框架,比如scrapy。
進階:
加入網站需要模擬登陸,裡面使用了很多ajax或者javascript,或者反爬蟲厲害,用requests的session,注意F12查看到底發送了什麼數據。
實在不會,就使用模擬瀏覽器吧,推薦selenium,雖然速度慢點,內存多點,但是真的很省力,而且基本查不出來。
最後,爬蟲速度不要太快,加上time.sleep(1),盡量少用多線程,別人建站也不容易,(尤其是小站)你不給別人帶來很大的麻煩,別人也就睜一隻眼閉一隻眼了,否則封IP不是好玩的。
有些頁面喜歡使用redirect,然而requests的get和post方法中默認是直接跳轉的!很可能你就帶著錯誤的cookies和headers跳轉了,所以務必將allow_redirects參數設為false
B. 夜曲編程的python坑
不坑。
夜曲編程就初學者入門而言是很不錯的,主要有幾個優勢:課程設計:總體設計由淺入深,學習路徑清晰,容易堅持。採用的是卡片模式,每日學習一課,只需花費20來分鍾。且頁面自帶記憶卡片,復雜概念簡單化。
偶然在網上發現了夜曲編程這個軟體。試著跟著學了一下,先是學習的免費課程。第一次學習的時候,這個教程驚艷了我。首先,夜曲編程的教程都是圖文形式的教程,互動式的教學方法讓學習的效率有了很大的提高。夜曲編程出自百詞斬旗下,它通過卡片的形式將一些編程的知識點放入其中,一定程度上可以增進編程的學習效果。
C. 無際單片機編程坑人嘛
不是坑人的。
單片機(Single-Chip Microcomputer)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。
從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。