溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python爬蟲框架的組成需要具備什么功能

發(fā)布時間:2021-05-12 12:28:37 來源:億速云 閱讀:170 作者:小新 欄目:編程語言

這篇文章主要介紹Python爬蟲框架的組成需要具備什么功能,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

1、組成

爬蟲框架需要具備哪些功能。Scrapy,pyspider有http請求庫,html解析工具,數(shù)據(jù)庫存儲等,但其實最核心的是他們的調(diào)度(scheduler)程序:即如何讓你的請求,解析,存儲協(xié)同工作。

一個最小的爬蟲框架只需要一套調(diào)度程序就可以了,其他的請求,解析,存儲都可以作為框架的擴展來使用,比如:gaoxinge/spidery。另外既然一個最小的爬蟲框架只有一套調(diào)度程序,那么它也可以用來做非爬蟲的工作。

2、實例

# -*- coding: utf-8 -*-
"""
url: https://stackoverflow.com/questions
fetch: requests
parse: lxml
presist: txt
"""
import requests
from lxml import etree
from spidery import Spider
 
spider = Spider(
    urls = ['http://stackoverflow.com/questions/?page=' + str(i) + '&sort=votes' for i in range(1, 4)],
)
 
@spider.fetch
def fetch(url):
    response = requests.get(url)
    return response
 
@spider.parse
def parse(response):
    root = etree.HTML(response.text)
    results = root.xpath('//div[@class=\'question-summary\']')
    for result in results:
        question = {}
        question['votes']   = result.xpath('div[@class=\'statscontainer\']//strong/text()')[0]
        question['answers'] = result.xpath('div[@class=\'statscontainer\']//strong/text()')[1]
        question['views']   = result.xpath('div[@class=\'statscontainer\']/div[@class=\'views supernova\']/text()')[0].strip()
        question['title']   = result.xpath('div[@class=\'summary\']/h4/a/text()')[0]
        question['link']    = result.xpath('div[@class=\'summary\']/h4/a/@href')[0]
        yield question, None
 
@spider.presist
def presist(item):
    f.write(str(item) + '\n')
 
f = open('stackoverflow.txt', 'wb')
spider.consume_all()
f.close()

python的數(shù)據(jù)類型有哪些?

python的數(shù)據(jù)類型:1. 數(shù)字類型,包括int(整型)、long(長整型)和float(浮點型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運算,有兩個值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數(shù)據(jù)類型,集合中可以放任何數(shù)據(jù)類型。5. 元組,元組用”()”標識,內(nèi)部元素用逗號隔開。6. 字典,字典是一種鍵值對的集合。7. 集合,集合是一個無序的、不重復的數(shù)據(jù)組合。

以上是“Python爬蟲框架的組成需要具備什么功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI