如何學習框架
什麼是scrapy
scrapy框架的基本使用
建立乙個工程:scrapy startproject firstblood
cd firstblood
需要在spiders子目錄中建立乙個爬蟲檔案
執行工程:
settings.py設定:
scrapy資料解析
scrapy持久化儲存
基於管道:
import scrapy
from lifepro.items import lifeproitem
class
lifespider
(scrapy.spider)
: name =
'life'
# allowed_domains = ['']
start_urls =
['']def
parse
(self, response)
:# 解析:作者的名稱和段子的內容
div_list = response.xpath(
'//div[@class="col1 old-style-col1"]/div'
)# 儲存所有解析到的資料
# all_data =
for div in div_list:
# extrac可以將selector物件中data引數儲存的字串提取出來
# author = div.xpath('./div[1]/a[2]/h2/text()')[0].extract()
author = div.xpath(
'./div[1]/a[2]/h2/text() | ./div[1]/span/h2/text()'
).extract_first(
) content = div.xpath(
'./a[1]/div//span/text()'
).extract(
) content =
''.join(content)
# 將資料封裝儲存到item物件中
item = lifeproitem(
) item[
'author'
]= author
item[
'content'
]= content
# 將item提交給管道
yield item
# 終端持久化儲存
# dic =
# return all_data
import scrapy
class
lifeproitem
(scrapy.item)
:# define the fields for your item here like:
author = scrapy.field(
) content = scrapy.field(
)# pass
from itemadapter import itemadapter
class
lifepropipeline
: fp =
none
# 重寫父類的乙個方法:該方法只在開始爬蟲的時候被呼叫一次
defopen_spider
(self,spider)
:print
('開始爬取'
) self.fp =
open
('./lifepro/spiders/data/life.txt'
,'w'
,encoding=
'utf-8'
)def
process_item
(self, item, spider)
: author = item[
'author'
] content = item[
'content'
] self.fp.write(author+
':'+content+
'\n'
)return item
defclose_spider
(self,spider)
:print
('爬取完畢'
) self.fp.close(
)
item_pipelines =
Python爬蟲學習
最近由於 需要,用python寫了爬蟲爬取資料。在這個過程中,認識到學習一門語言最好的辦法是動手,別無技巧。在動手程式設計的過程中,遇到了很多意想不到的問題,當然也學習了很多書本上不會講述的知識,感覺這才是真正的學習知識。在這個過程中,遇到的乙個問題讓我花費了很久時間,留下了很深的印象。擔心會隨著時...
Python學習 爬蟲
在搜尋python知識的時候一直看到爬蟲相關知識,感覺挺好玩的,打算簡單了解一下。1 找到伺服器主機,向伺服器發出乙個請求,伺服器經過解析之後,傳送給使用者的瀏覽器 html js css 等檔案,瀏覽器解析出來,使用者便可以看到形形色色的了。因此,使用者看到的網頁實質是由 html 構成的,爬蟲爬...
python爬蟲學習
例如列印當前時間 from datetime import datetime print datetime.now 或者import datetime print datetime.datetime.now html結構 html head body html head a useful page ...