最近做項目不得不學習爬蟲,主要是爬取網頁並下載鏈接裏的內容,現在記錄一些初步操作。
先附上我主要學習參考的博客:(三篇內容是連續的)
https://www.cnblogs.com/hongdanni/p/10585671.html
https://www.cnblogs.com/hongdanni/p/9449634.html
https://www.cnblogs.com/hongdanni/p/9451868.html
其中用到了Scrapy shell和XPath, 附上一個講的很清楚的網站:
https://baijiahao.baidu.com/s?id=1606025615078305226&wfr=spider&for=pc
主要步驟如下:
1. scrapy startproject 項目名 # 新建一個爬蟲項目
2. scrapy genspider 爬蟲名 域名 # 注意爬蟲名≠項目名;域名不是具體網址
此時可能需要在settings.py中設置USER_AGENT(在網頁中查看:F12 -> 刷新頁面 -> Network -> Name中找到網址(一般是第一個) -> Headers中最下方有user-agent信息)
3. scrapy shell 網址 # 進入命令行模式,開始調試
shell中調試:
response.xpath(' ... ') # 待爬取數據的XPath,可通過右鍵“Copy XPath”得到(可能是full XPath的形式,有時可能需要改)
這裏附上一個講解XPath的博客:https://blog.csdn.net/u013332124/article/details/80621638
4. 編寫修改 爬蟲名.py、items.py、pipelines.py
5. scrapy crawl 爬蟲名
爬蟲過程中出現的問題及解決:
1. 爬蟲失敗 :1⃣️爬蟲名.py文件中“start_urls”沒有修改爲具體的網址;2⃣️幾個文件中的”pass”忘記註釋
2. 數據保存失敗:settings.py文件中沒有配置“pipelines”,把“ITEM_PIPELINES”註釋取消即可