scrapy 是一款常用的爬蟲框架,可以實現分布式爬蟲和高效能的爬蟲
scrapy 框架的建立實在cmd命令列下進行的:
首先要在命令列下轉到你要建立的資料夾下:
cd 目標資料夾路徑 建立的是乙個工程
建立命令:
scrapy startproject 工程名稱 (自己隨意)
建立完工程後要進入到工程資料夾下,穿件爬蟲(spider)檔案
建立爬蟲檔案:
scrapy genspider 爬蟲檔名 目標url(初始的url必須要有)
紅色部分是自己加的**,解析資料的,其他的都是建立完成後的原始**
importscrapy
class
qiubaispider(scrapy.spider):
name = '
qiubai'#
start_urls = ['
'] # 這個url是可以的, 這個url九不能被爬取的,因為上面的限制,但是上面也可以加多個網域名稱
defparse(self, response):
#建議使用想path進行內容解析,scrapy已經整合了xpath介面
div_list = response.xpath('//div [@id="content-left"]/div') # xpath表示式 //div表示所有div [@id="content-left"] div的id
data_list =
for div in div_list:
# .extract() 可以將xpath返回的selector物件中的值取出 xpath返回的是乙個列表,列表中的元素是selector物件
# author = div.xpath('./div/a[2]/h2/text()').extract() # xpath表示式./表示的是在當前的div下 a[2] 表示這個div下的第二個a標籤
author = div.xpath('./div/a[2]/h2/text()').extract_first()
# .extract_first() == extract()[0]
接下來需要改一下配置檔案(sttings.py)這個檔案也是建立完工程後就有的,在裡面改一下第19號,user_agent 請求頭資訊 和 22行 robotstxt_obey 改成 false
最後就是執行了,執行也是需要在cmd命令列下進行執行
執行命令:
scrapy crawl 爬蟲檔名 --nolog # --nolog是表示不列印任何的日誌
scrapy crawl 爬蟲檔名 -o 磁碟檔名.字尾 -o 表示將返回的可迭代型別的資料寫入指定的檔案中 (操作後寫入csv檔案結果出現亂碼,暫時不知道是什麼原因)
爬取網路基本框架
0x00 理解requests庫的異常 requests庫的異常 0x01 爬取網頁的通用框架 import requests defgethtmltext url try r requests.get url,timeout 30 r.raise for status 如果狀態碼不是200,引發h...
scrapy框架全站資料爬取
每個 都有很多頁碼,將 中某板塊下的全部頁碼對應的頁面資料進行爬取 實現方式有兩種 1 將所有頁面的url新增到start urls列表 不推薦 2 自行手動進行請求傳送 推薦 yield scrapy.request url,callback callback專門用做於資料解析 下面我們介紹第二種...
使用scrapy框架爬boss直聘
boss直聘 建立scrapy 專案 scrapy startproject scrapyproject建立spider檔案 scrapy genspider s boss zhipin.com目錄1.找介面 url 2.s boss.py 3.items.py 4.pipelines.py pag...