1.以 csvdeed 模板建立爬蟲的流程
1.建立專案:scrapy startproject mycsv
2.編寫 item.py 檔案,定義要提取的資料
3.檢視可用爬蟲模板:scrapy genspider -l
4.以 csvfeed 模板建立乙個 mycsvspider.py 檔案,在 spider 目錄下:scrapy genspider -t csvdeed mycsvfeed iqianyue.com
5.編寫好 mycsvspider.py 檔案後,切換到專案檔案執行:scrapy crawl mycsvspider --nolog
2.讀取 csv 檔案
with open(getattr(self, "file", "todo.csv"), "ru") as f:
reader = csv.dictreader(f)
for line in reader:
request = request(line.pop('url')) #彈出以 url 為鍵對應的值
request.meta['fields'] = line #把資料以字典形式存入
yield request
檔案第一行會被自動作為標題處理,做為每一行這一列的鍵索引值
getattr(self,'varible','default') 這裡執行爬蟲時開啟的是預設的 defult 檔案,相當於命令 scrapy crawl 爬蟲名 -a varible=default
這段**相當於命令 scrapy crawl 爬蟲名 -a file=todo.csv
def parse(self, response):
#沒有自定義 item.py 檔案,手動為 itemloader 提供
item = item()
l = itemloader(item=item, response=response)
for name, xpath in response.meta['fields'].iteritems(): #迴圈字段
if xpath:#如果路徑存在就新增容器,並儲存
item.fields[name] = field()
l.add_xpath(name, xpath)
return l.load_item()
爬蟲爬取豆瓣電影寫入csv
小白flag10 爬蟲爬取豆瓣電影寫入csv json化 csv檔案操作學習 import requests import json from requests.packages.urllib3.exceptions import insecurerequestwarning 解決警告 class ...
用Request爬取實戰
如果想要在請求的時候增加一些請求頭,用request.request。比如要增加乙個user agent 在拉勾網的職業資訊通過另外的 再通過js嵌入到主頁面的html 當中的 真正的職業資訊 在json.cn中解碼得 請求頁面,還有請求方式為post from urllib import requ...
用Python處理csv檔案
csv 是 逗號分隔值 的英文縮寫,通常都是純文字檔案。建議使用 wordpad 或是記事本 note 來開啟,再則先另存新檔後用 excel 開啟,也是方法之一。一直以為 csv 是某種 excel 檔案,原來是一種純文字檔案,嘗試用記事本開啟乙個 csv 檔案 果然,在記事本中是以逗號為分隔符,...