摘要:爬蟲知識點同步滾動框架知識點粗解爬蟲和代理池項目配置文件爬蟲項目的配置文件。爬蟲項目的管道文件,用來對中的數據進行進一步的加工處理。
爬蟲知識點
同步滾動:
scrapy框架知識點 https://scrapy-chs.readthedoc...
1、ROBOTSTXT_OBEY = False 粗解
https://www.jianshu.com/p/19c1ea0d59c2
2、爬蟲-User-Agent和代理池
https://www.cnblogs.com/sunxiuwen/p/10112057.html
3、
scrapy項目配置文件:
scrapy.cfg:爬蟲項目的配置文件。
__init__.py:爬蟲項目的初始化文件,用來對項目做初始化工作。
items.py:爬蟲項目的數據容器文件,用來定義要獲取的數據。
1、pipelines.py:爬蟲項目的管道文件,用來對items中的數據進行進一步的加工處理。 2、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執行安裝包,不用在進入對應的項目目錄下
5、 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列表。
6、elastisearch查詢語句
https://segmentfault.com/q/1010000017553309/
7、
傳入xpath表達式,返回該表達式所對應的所有節點的selector list列表 extract(): 返回被選擇元素的unicode字符串8、yield
yield的作用 這里是在爬取完一頁的信息后,我們在當前頁面獲取到了下一頁的鏈接,然后通過 yield 發起請求,# 并且將 parse 自己作為回調函數來處理下一頁的響應 # https://www.jianshu.com/p/7c1a084853d8 yield Request(self.lrtsUrl + next_link, callback=self.parse, headers=headers) #獲取下一頁,parse是回調函數來處理下一頁的響應
9、meta scrapy的request的meta參數是什么意思?
https://blog.csdn.net/master_ning/article/details/80558985
python基礎知識點:
class:#創建類 類就是一個模板,模板里可以包含多個函數,函數里實現一些功能 https://www.cnblogs.com/chengd/articles/7287528.html
def:#創建類中函數
pass:pass 不做任何事情,一般用做占位語句。
if name == "__main__":的作用
https://www.cnblogs.com/kex1n/p/5975575.html
5、python range() 函數可創建一個整數列表,一般用在 for 循環中。
函數語法
range(start, stop[, step])
6、Python len() 方法返回對象(字符、列表、元組等)長度或項目個數。
語法
len()方法語法:
len( s )
7、if not os.path.exists(self.bookname) :
報錯
1、UnicodeEncodeError: "gbk" codec can"t encode character "xXX" in position XX
錯誤原因:編碼問題
解決:
.py
import io
import os
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding="gb18030") #改變標準輸出的默認編碼
2、elasticsearch.exceptions.ConnectionError: ConnectionError(
錯誤原因:數據庫那邊的問題,導致連接失敗
3、IndexError: list index out of range
錯誤原因:數組有問題 https://blog.csdn.net/huacode...
4、爬取數據的時候爬到一般中斷,可以通過try expect來跨過去,繼續執行程序
5、^ SyntaxError: (unicode error) "unicodeescape" codec can"t decode bytes in position 2-3: truncated UXXXXXXXX escape
解決辦法:https://www.cnblogs.com/hfdkd...
6、_compile(pattern, flags).findall(string) TypeError: cannot use a string pattern on a bytes-like
https://www.cnblogs.com/areyo...
要注意:findall()的參數需要加上decode("utf-8")
infor = p.text.strip().encode("utf-8").decode("utf-8") #此處用utf-8編碼,以免下面查找 ‘主演’下標報錯
ya = re.findall("[0-9]+.*/?", infor)[0] # re得到年份和地區
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43780.html
摘要:爬蟲是我接觸計算機編程的入門。練練練本文推薦的資源就是以項目練習帶動爬蟲學習,囊括了大部分爬蟲工程師要求的知識點。拓展閱讀一文了解爬蟲與反爬蟲最后,請注意,爬蟲的工作機會相對較少。 爬蟲是我接觸計算機編程的入門。哥當年寫第一行代碼的時候別提有多痛苦。 本文旨在用一篇文章說透爬蟲如何自學可以達到找工作的要求。 爬蟲的學習就是跟著實際項目去學,每個項目會涉及到不同的知識點,項目做多了,自然...
摘要:爬蟲也可以稱為爬蟲不知從何時起,這門語言和爬蟲就像一對戀人,二者如膠似漆,形影不離,你中有我我中有你,一提起爬蟲,就會想到,一說起,就會想到人工智能和爬蟲所以,一般說爬蟲的時候,大部分程序員潛意識里都會聯想為爬蟲,為什么會這樣,我覺得有兩個 爬蟲也可以稱為Python爬蟲 不知從何時起,Python這門語言和爬蟲就像一對戀人,二者如膠似漆 ,形影不離,你中有我、我中有你,一提起爬蟲,就...
摘要:以下這些項目,你拿來學習學習練練手。當你每個步驟都能做到很優秀的時候,你應該考慮如何組合這四個步驟,使你的爬蟲達到效率最高,也就是所謂的爬蟲策略問題,爬蟲策略學習不是一朝一夕的事情,建議多看看一些比較優秀的爬蟲的設計方案,比如說。 (一)如何學習Python 學習Python大致可以分為以下幾個階段: 1.剛上手的時候肯定是先過一遍Python最基本的知識,比如說:變量、數據結構、語法...
閱讀 1190·2023-04-26 02:42
閱讀 1636·2021-11-12 10:36
閱讀 1790·2021-10-25 09:47
閱讀 1267·2021-08-18 10:22
閱讀 1806·2019-08-30 15:52
閱讀 1216·2019-08-30 10:54
閱讀 2637·2019-08-29 18:46
閱讀 3501·2019-08-26 18:27