
古人云博采眾長(zhǎng),我們來看看其他人的爬蟲是怎么學(xué)和用的:
爬蟲文章 in 簡(jiǎn)書程序員專題:
- like:128 - Python 爬取落網(wǎng)音樂
- like:127 - 【圖文詳解】python爬蟲實(shí)戰(zhàn)——5分鐘做個(gè)圖片自動(dòng)下載器
- like:97 - 用Python寫一個(gè)簡(jiǎn)單的微博爬蟲
- like:87 - 爬蟲抓取拉勾網(wǎng)職位需求關(guān)鍵詞,并生成統(tǒng)計(jì)圖
- like:87 - Python爬蟲實(shí)戰(zhàn)(2):爬取京東商品列表
- like:85 - python爬蟲入門(1):爬萬本書籍
- like:73 - Python爬蟲(六)--Scrapy框架學(xué)習(xí)
- like:72 - Python爬蟲(一)--豆瓣電影抓站小結(jié)(成功抓取Top100電影)
- like:63 - Python爬蟲框架Scrapy快速入門
- like:62 - Scrapy爬取圖片
- like:60 - 使用Node.js制作爬蟲教程(續(xù):爬圖)
- like:59 - 使用Scrapy爬取大規(guī)模數(shù)據(jù)
- like:55 - 爬取簡(jiǎn)書全站文章并生成 API(一)
- like:49 - 教女朋友爬蟲
- like:48 - 60小時(shí)Python爬蟲學(xué)習(xí):從100行數(shù)據(jù)到10W+數(shù)據(jù)
- like:48 - Python爬蟲(七)--Scrapy模擬登錄
- like:47 - 教你從零開始學(xué)會(huì)寫爬蟲(Python)
- like:46 - 基于MVP模式開發(fā)的帶緩存網(wǎng)絡(luò)爬蟲,采用最流行框架搭建,干貨多多
- like:46 - 【圖文詳解】scrapy安裝與真的快速上手——爬取豆瓣9分榜單
- like:45 - Python爬蟲初學(xué)(三)—— 模擬登錄知乎
- like:45 - Python爬蟲(二)--Coursera抓站小結(jié)
- like:44 - Python爬蟲學(xué)習(xí)-大數(shù)據(jù)統(tǒng)計(jì)分析(基礎(chǔ))
- like:42 - 產(chǎn)品經(jīng)理學(xué)Python&爬蟲(二):Python基礎(chǔ)及爬蟲入門
- like:42 - 記一次斗魚TV彈幕爬蟲經(jīng)歷(Ruby版本)
- like:40 - 爬取簡(jiǎn)書全站文章并生成 API(二)
- like:40 - 33款開源爬蟲軟件工具 收藏!(你也試試)
- like:38 - python 爬取一些數(shù)據(jù),存入數(shù)據(jù)庫(kù) 并生成簡(jiǎn)單圖表
- like:37 - Python爬蟲之抓取APP下載鏈接
- like:37 - 網(wǎng)絡(luò)蜘蛛的基本素養(yǎng)(python爬蟲入門篇:介紹和原生庫(kù))
- like:37 - 斗魚TV彈幕爬蟲(Python版本)
- like:36 - 打造一條爬蟲
- like:35 - Kali Linux Web 滲透測(cè)試秘籍 第三章 爬蟲和蜘蛛
- like:35 - 【圖文詳解】scrapy爬蟲與Ajax動(dòng)態(tài)頁(yè)面——爬取拉勾網(wǎng)職位信息(1)
- like:34 - 零基礎(chǔ)制作一個(gè)Python 爬蟲
- like:33 - Scrapy實(shí)戰(zhàn)-爬取豆瓣漫畫
- like:30 - Python即時(shí)網(wǎng)絡(luò)爬蟲項(xiàng)目: 內(nèi)容提取器的定義
- like:30 - 使用Node.js制作爬蟲教程
- like:30 - 【同行說技術(shù)】爬蟲學(xué)習(xí)匯總:Python程序員從小白到大神必讀資料匯總(二)
- like:29 - Python爬蟲防封殺方法集合
- like:29 - 5.Python3爬蟲入門實(shí)踐——爬取名著
- like:29 - java爬蟲之下載txt小說
- like:29 - Python 筆記七:Requests爬蟲技巧
- like:29 - python爬蟲:爬取慕課網(wǎng)視頻
- like:29 - 【同行說技術(shù)】Python開發(fā)、調(diào)試、爬蟲類工具大全
- like:27 - 最簡(jiǎn)便的爬蟲效率提升方法
- like:26 - 一步步教你利用Github開源項(xiàng)目實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲:以抓取證券日?qǐng)?bào)新聞為例
- like:26 - Python自定義豆瓣電影種類,排行,點(diǎn)評(píng)的爬取與存儲(chǔ)(高階上)
- like:26 - Python爬取圖蟲網(wǎng)攝影作品
- like:26 - 如何做好一款爬蟲產(chǎn)品(kimono,importio,八爪魚試用分析)
- like:26 - 一天就能寫 Python 爬蟲
- like:26 - Python爬蟲(四)--多線程
- like:25 - 爬蟲框架webmagic與spring boot的結(jié)合使用
- like:23 - java簡(jiǎn)單的爬蟲(今日頭條)
- like:23 - 用Python爬取實(shí)習(xí)信息(Scrapy初體驗(yàn))
- like:22 - 爬取百度圖片各種狗狗的圖片,使用caffe訓(xùn)練模型分類
- like:22 - 爬取簡(jiǎn)書全站文章并生成 API(五)
- like:22 - 爬取簡(jiǎn)書全站文章并生成 API(四)
- like:22 - 爬取簡(jiǎn)書全站文章并生成 API(三)
- like:22 - Python爬蟲實(shí)戰(zhàn)(4):豆瓣小組話題數(shù)據(jù)采集—?jiǎng)討B(tài)網(wǎng)頁(yè)
- like:22 - Python爬蟲(五)--多線程續(xù)(Queue)
- like:21 - 一個(gè)實(shí)現(xiàn)批量抓取淘女郎寫真圖片的爬蟲
- like:21 - Python爬蟲實(shí)戰(zhàn)(3):安居客房產(chǎn)經(jīng)紀(jì)人信息采集
- like:21 - Scrapy爬取簡(jiǎn)書用戶url分析
- like:21 - 【圖文詳解】scrapy爬蟲與Ajax動(dòng)態(tài)頁(yè)面——爬取拉勾網(wǎng)職位信息(2)
- like:21 - 來,讓我們寫一個(gè)網(wǎng)絡(luò)爬蟲,下載頁(yè)面上所有的照片吧!
- like:19 - node入門場(chǎng)景之——爬蟲
- like:19 - python爬蟲入門(2):讓你的github項(xiàng)目火起來
- like:18 - 網(wǎng)絡(luò)爬蟲:使用Scrapy框架編寫一個(gè)抓取書籍信息的爬蟲服務(wù)
- like:18 - 專欄:006:實(shí)戰(zhàn)爬取博客
- like:18 - 【開源】爬取QQ空間說說及簡(jiǎn)易數(shù)據(jù)分析
- like:17 - Python實(shí)現(xiàn)簡(jiǎn)單爬蟲(爬取下載鏈接)
- like:17 - 教你一步一步用 Node.js 制作慕課網(wǎng)視頻爬蟲
- like:16 - python知乎爬蟲(最新)
- like:16 - Python即時(shí)網(wǎng)絡(luò)爬蟲項(xiàng)目啟動(dòng)說明
- like:16 - 用Python爬取妹子圖——基于BS4+多線程的處理
- like:16 - 教女朋友爬蟲(續(xù))
- like:15 - 爬蟲學(xué)習(xí)之一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)爬蟲
- like:15 - #Python爬蟲手冊(cè)(一)
- like:15 - 使用Python模擬騰訊第三方認(rèn)證-篇4 [自動(dòng)爬取分析及下載]
- like:15 - python 知乎爬蟲
- like:14 - 通過網(wǎng)絡(luò)圖片小爬蟲對(duì)比Python中單線程與多線(進(jìn))程的效率
- like:14 - 利用Beautifusoup爬取網(wǎng)頁(yè)指定內(nèi)容
- like:14 - 爬取網(wǎng)頁(yè) 干貨集中營(yíng) gank.io
- like:13 - 8.Python3爬蟲實(shí)例——使用BeautifulSoup4重構(gòu)爬取名著
- like:13 - Python爬蟲:常用瀏覽器的useragent
- like:13 - Ruby+Tesseract爬取學(xué)校教務(wù)系統(tǒng)
- like:12 - 沒壁紙用了?用Jsoup寫一個(gè)圖片爬蟲吧!
- like:12 - 寫一只"獨(dú)立"的python爬蟲-淺談?dòng)门老x自行抓取代理ip網(wǎng)站信息
- like:12 - 一個(gè)人人網(wǎng)python爬蟲
- like:12 - 利用Node寫一只小爬蟲爬一爬簡(jiǎn)書
- like:12 - 爬蟲抓取ruby-china職位分布圖,含代碼
- like:11 - Python爬蟲初學(xué)(一)—— 爬取段子
- like:11 - Python爬蟲-搜索并下載圖片
- like:10 - 簡(jiǎn)書爬蟲
- like:10 - 4.Python3爬蟲入門
- like:10 - 爬蟲學(xué)習(xí)之基于Scrapy的網(wǎng)絡(luò)爬蟲
- like:10 - python3.5爬蟲輔助第三方庫(kù)
- like:10 - python爬蟲入門之模擬登陸新浪微博
- like:9 - 爬蟲之刃----趕集網(wǎng)招聘類爬取案例詳解(系列四)
- like:9 - 9.Python3爬蟲實(shí)例——使用Scrapy重構(gòu)代碼爬取名著
- like:9 - 從零開始開發(fā)一個(gè)App(1)- Scrapy爬蟲
- like:9 - 簡(jiǎn)單爬取豆瓣妹子(Objective-C)
- like:9 - 人腦爬蟲
- like:9 - python爬蟲的最佳實(shí)踐(八)--初探Scrapy
- like:9 - 爬取美少女圖片
- like:9 - Tornado 4.3 文檔翻譯: 用戶指南-并發(fā)網(wǎng)絡(luò)爬蟲
- like:9 - python爬蟲入門之qq登陸初探
- like:8 - 為編寫網(wǎng)絡(luò)爬蟲程序安裝Python3.5
- like:8 - Python爬蟲初學(xué)(二)—— 爬百度貼吧小說和圖片
- like:8 - 10分鐘利用JSoup和CSV爬取58同城二手房信息
- like:8 - 老堂主爬蟲交流--百度貼吧模擬回帖
- like:8 - python爬蟲-爬取盜墓筆記
- like:8 - Python爬蟲-re(正則表達(dá)式)模塊常用方法
- like:8 - 百度指數(shù)爬取工具
- like:7 - 原創(chuàng)爬蟲開源項(xiàng)目——更新維護(hù)
- like:7 - Python異步爬蟲試驗(yàn)[Celery,gevent,requests]
- like:7 - 網(wǎng)絡(luò)爬蟲: 從allitebooks.com抓取書籍信息并從amazon.com抓取價(jià)格(3): 根據(jù)書籍ISBN碼抓取amazon.com價(jià)格
- like:7 - 網(wǎng)絡(luò)爬蟲: 從allitebooks.com抓取書籍信息并從amazon.com抓取價(jià)格(1): 基礎(chǔ)知識(shí)Beautiful Soup
- like:7 - Python即時(shí)網(wǎng)絡(luò)爬蟲項(xiàng)目: 內(nèi)容提取器的定義(Python2.7版本)
- like:7 - Python爬取三國(guó)演義
- like:7 - Python自定義豆瓣電影種類,排行,點(diǎn)評(píng)的爬取與存儲(chǔ)(進(jìn)階下)
- like:7 - 小作品: Python QQ 群爬蟲 (Update 2016-08-19)
- like:7 - 爬蟲的理論知識(shí)儲(chǔ)備
- like:7 - 豆瓣爬蟲
- like:7 - py爬蟲
- like:6 - 新手向爬蟲(一)利用工具輕松爬取簡(jiǎn)書并分析
- like:6 - 第二個(gè)爬蟲
- like:6 - Python爬蟲爬取美劇網(wǎng)站
- like:6 - Python爬蟲使用Selenium+PhantomJS抓取Ajax和動(dòng)態(tài)HTML內(nèi)容
- like:6 - python__運(yùn)用爬蟲猜密碼
- like:5 - Pyspider框架 —— Python爬蟲實(shí)戰(zhàn)之爬取 V2EX 網(wǎng)站帖子
- like:5 - python3+sqlite3+多線程爬取某網(wǎng)站文章
- like:5 - 基于python的爬蟲——espider
- like:5 - 基于scrapy框架的關(guān)于58同城招聘網(wǎng)站信息的爬取(一)
- like:5 - 簡(jiǎn)書連載作者福音: 一鍵生成連載目錄和連載作品排行統(tǒng)計(jì)(Python爬蟲應(yīng)用)
- like:5 - nodejs網(wǎng)絡(luò)爬蟲技術(shù)詳解
- like:5 - python__超級(jí)超級(jí)超級(jí)簡(jiǎn)單的一個(gè)爬蟲小程序
- like:5 - 【HtmlUnit】網(wǎng)頁(yè)爬蟲進(jìn)階篇
- like:5 - python小爬蟲抓取搞笑圖片V2.0
- like:5 - python小爬蟲抓取搞笑圖片
- like:4 - python異步爬蟲
- like:4 - Python自定義豆瓣電影種類,排行,點(diǎn)評(píng)的爬取與存儲(chǔ)(進(jìn)階上)
- like:4 - 爬蟲學(xué)習(xí)之基于Scrapy的自動(dòng)登錄
- like:4 - 淺析通用爬蟲軟件—— 集搜客與八爪魚采集器
- like:4 - Laravel 下使用 Guzzle 編寫多線程爬蟲實(shí)戰(zhàn)
- like:4 - Python小記:selenium+PhantomJS爬蟲解決頁(yè)面js添加cookie
- like:3 - 爬蟲之scrapy-splash——scrapy+js渲染容器
- like:3 - python爬蟲爬房多多鏈家房源信息
- like:3 - Python爬取FLASH播放器中的資料
- like:3 - Python即時(shí)網(wǎng)絡(luò)爬蟲:API說明
- like:3 - xiaolinBot(Twitter笑話集錦爬蟲Bot) Step3-適配器
- like:3 - xiaolinBot(Twitter笑話集錦爬蟲Bot) Step1-最簡(jiǎn)爬蟲
- like:3 - 一個(gè)爬簡(jiǎn)書所有歷史文章的爬蟲
- like:2 - 網(wǎng)絡(luò)爬蟲: 從allitebooks.com抓取書籍信息并從amazon.com抓取價(jià)格(2): 抓取allitebooks.com書籍信息及ISBN碼
- like:2 - Python: 爬取廖雪峰大神的python教程
- like:2 - 用爬蟲搶自如房子
- like:2 - xiaolinBot(Twitter笑話集錦爬蟲Bot) Step0-概述
- like:1 - 寫爬小說的爬蟲的一些心得
- like:1 - Python自定義豆瓣電影種類,排行,點(diǎn)評(píng)的爬取與存儲(chǔ)(初級(jí))
- like:0 - 新手向爬蟲(二)——站點(diǎn)分析
- like:0 - 反爬蟲策略
- like:0 - xiaolinBot(Twitter笑話集錦爬蟲Bot) Step2-代碼優(yōu)化
使用Scrapy爬取上述列表
安裝Scrapy
- 下載文件:lxml;twisted;并在該頁(yè)面上搜索scrapy并下載whl文件,最后使用
pip install x.whl,x為 whl文件名,依次安裝三個(gè)文件。 - 我下載的都是cp35-cp35m-win_amd64.whl,win7安裝成功。
簡(jiǎn)單快速的Scrapy
- 編輯名為
num1.py的文件添加以下內(nèi)容,使用命令行scrapy runspider num1.py -o 1.json在文件當(dāng)前所在目錄下運(yùn)行文件,表示使用Scrapy執(zhí)行該爬蟲并將輸出數(shù)據(jù)保存為json文件。 - 整個(gè)爬取過程花費(fèi)了212.98秒,平均每個(gè)頁(yè)面花費(fèi)0.053秒。
# -*- coding: utf-8 -*-
# 文本編輯器編碼要設(shè)置對(duì),最好為UTF-8無BOM編碼
import scrapy
class Num1Spider(scrapy.Spider):
name = "num1" # 爬蟲命名,在項(xiàng)目中有用
allowed_domains = ["jianshu.com"] # 允許爬取的域名
domain = 'http://jianshu.com' # 自己設(shè)置的基礎(chǔ)域名變量
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36",
} # 請(qǐng)求頭
base_url = 'http://m.itdecent.cn/collections/16/notes?order_by=added_at&page=%d'
# 關(guān)于此處url,參看新手向爬蟲(一)
num = 0 # 頁(yè)數(shù)
def start_requests(self): # 默認(rèn)的開始函數(shù),用于提供要爬取的鏈接
# url = self.base_url % self.num
while self.num < 4000: # 程序員專題總頁(yè)數(shù)小于4000,共花費(fèi)212.975027秒
self.num += 1
yield scrapy.Request(self.base_url % self.num,
headers = self.headers,
callback = self.parse)
def parse(self, response): # 默認(rèn)的回調(diào)函數(shù),用于鏈接下載完畢后調(diào)用來處理數(shù)據(jù)
for index,i in enumerate(response.css(".title a::text").extract()):
if "爬蟲" in i or "爬取" in i:
like = response.css("a + span::text").extract()[index].replace(' · 喜歡 ', '')
url = self.domain + response.css('.title a::attr(href)').extract()[index]
yield {"title" : i, "like": like, "url": url}
######################## Debug ###############################
# from scrapy.shell import inspect_response
# inspect_response(response, self)
# 將以上兩句插入回調(diào)函數(shù)中任意位置,即可在運(yùn)行過程中中斷打開交互命令行,用于調(diào)試查看響應(yīng)內(nèi)容
######################## Run ###############################
# scrapy runspider num1.py -o 1.json
文本后處理
- 用于從上一步生成的json文件中提取數(shù)據(jù)并排序生成簡(jiǎn)單的markdown。
# -*- coding: utf-8 -*-
import json
with open('1.json','r') as f:
data = json.load(f)
data = sorted(data, key =lambda x: int(x['like']), reverse=True)
# 以喜歡數(shù)對(duì)文章進(jìn)行排序
with open('1.md', 'w') as m:
m.write('### 爬蟲文章 in 簡(jiǎn)書程序員專題:\n')
for i in data:
m.write('- *like*:**{like}** - [{title}]({url})\n'.format(**i))
# **i 表示解包字典