python的scrapy框架爬取懶人聽書網站

項目地址:https://github.com/gejinnvshe...
微信公衆號:天字一等css

爬取懶人聽書平臺書籍的書名、做者名、分類,後續還會增長爬取音頻html

爬蟲用到的框架:scrapy Anaconda是專一於數據分析的Python發行版本python

scrapy簡單入門及實例講解:https://www.cnblogs.com/kongz... scrapy進階實例:https://blog.csdn.net/z564359...git

scrapy框架知識點github

一、ROBOTSTXT_OBEY = False 粗解
https://www.jianshu.com/p/19c1ea0d59c2
二、爬蟲-User-Agent和代理池
http://www.javashuo.com/article/p-ppjjlwhb-cu.html
三、
scrapy項目配置文件:
scrapy.cfg:爬蟲項目的配置文件。
__init__.py:爬蟲項目的初始化文件,用來對項目作初始化工做。
items.py:爬蟲項目的數據容器文件,用來定義要獲取的數據。
一、pipelines.py:爬蟲項目的管道文件,用來對items中的數據進行進一步的加工處理。 二、scrapy的pipeline是一個很是重要的模塊,主要做用是將return的items寫入到數據庫、文件等持久化模塊
settings.py:爬蟲項目的設置文件,包含了爬蟲項目的設置信息。
middlewares.py:爬蟲項目的中間件文件,
4
使用anaconda prompt運行.py文件,執行scrapy crwal xx指令時,xx是.py文件中給name賦的值
使用anaconda prompt運行.py文件,執行scrapy crwal xx指令時,若是報錯說少了yy modules,直接輸入pip install yy執行安裝包,不用在進入對應的項目目錄下
五、 https://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/tutorial.html?highlight=extract正則表達式

  • xpath(): 傳入xpath表達式,返回該表達式所對應的全部節點的selector list列表 。
  • css(): 傳入CSS表達式,返回該表達式所對應的全部節點的selector list列表.
  • extract(): 序列化該節點爲unicode字符串並返回list。
  • re(): 根據傳入的正則表達式對數據進行提取,返回unicode字符串list列表。

六、elastisearch查詢語句
https://segmentfault.com/q/1010000017553309/
七、傳入xpath表達式,返回該表達式所對應的全部節點的selector list列表
extract(): 返回被選擇元素的unicode字符串
八、yield
yield的做用 這裏是在爬取完一頁的信息後,咱們在當前頁面獲取到了下一頁的連接,而後經過 yield 發起請求,數據庫

# 而且將 parse 本身做爲回調函數來處理下一頁的響應
            #  https://www.jianshu.com/p/7c1a084853d8
            yield Request(self.lrtsUrl + next_link, callback=self.parse, headers=headers)  #獲取下一頁,parse是回調函數來處理下一頁的響應

九、meta scrapy的request的meta參數是什麼意思?
https://blog.csdn.net/master_ning/article/details/80558985segmentfault

python基礎知識點:微信

class:#建立類 類就是一個模板,模板裏能夠包含多個函數,函數裏實現一些功能
def:#建立類中函數
pass:pass 不作任何事情,通常用作佔位語句。
if name == '__main__':的做用
https://www.cnblogs.com/kex1n/p/5975575.html
五、python range() 函數可建立一個整數列表,通常用在 for 循環中。
函數語法
range(start, stop[, step])
六、Python len() 方法返回對象(字符、列表、元組等)長度或項目個數。
語法
len()方法語法:
len( s )框架

相關文章
相關標籤/搜索