婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > scrapy+flask+html打造搜索引擎的示例代碼

scrapy+flask+html打造搜索引擎的示例代碼

熱門標簽:西青語音電銷機器人哪家好 南昌地圖標注 百應電話機器人總部 電梯新時達系統外呼顯示e 旅游廁所地圖標注怎么弄 地圖標注與注銷 成都呼叫中心外呼系統哪家強 宿州電話機器人哪家好 無錫智能外呼系統好用嗎

1.預備知識

python語言,scrapy爬蟲基礎,json模塊,flask后端

2.抓取CSDN數據接口

使用谷歌抓包工具抓取CSDN搜索引擎的接口

2.1 查看CSDN搜索引擎主頁

查看CSDN搜索引擎主頁https://so.csdn.net/,截圖如下:

2.2測試CSDN搜索引擎的功能

測試CSDN搜索引擎的功能,嘗試輸入參數之后,查看返回的文章信息列表,測試如下:


經過測試發現,CSDN搜索引擎的主要功能是,搜索所有跟python有關的文章,然后根據文章熱度,點贊量,留言數進行一個綜合排序,展示給用戶排序后的文章結果。這樣來說,我們的主要任務就是利用抓包抓取到前后端傳輸數據的接口,通過接口,來實現整個搜索引擎的效果。

2.3查看更多相關文章的信息

讓我們把前端滑輪移到最后,發現并沒有頁數的標簽,而是通過自動加載數據來呈現,效果如下:



在不刷新整個頁面的基礎上加載新的數據,這很容易讓我們聯想到ajax異步請求。
異步請求通常就是利用ajax技術,能在不更新整個頁面的前提下維護數據。這使得Web應用程序更為迅捷地回應用戶動作,并避免了在網絡上發送那些沒有改變的信息。
接下來我們嘗試利用谷歌瀏覽器抓取異步請求的信息。

2.4抓取ajax異步請求數據

使用谷歌瀏覽器抓取ajax異步請求數據
為了避免干擾因素,我們在抓包前需要點擊clear按鈕,清空當前的抓包記錄


將滑塊移動到最后,使前端頁面自動加載數據,分析數據加載時抓取到的數據包信息。通過多次分析驗證,發現結果有一個get請求攜帶著大量的刷新時的數據。如下圖所示:


是JSON格式的數據,這里簡單介紹一下JSON格式的數據。
JSON 是前后端傳輸數據最常見的用法之一,是從 web 服務器上讀取 JSON 數據(作為文件或作為 HttpRequest),將 JSON 數據轉換為 JavaScript 對象,然后在網頁中使用該數據。
通過分析,我們可以發現數據是存放在result_vos列表下的各個字典中的,我們可以使用循環,然后通過dict[“xxx”]的方式來提取數據。

2.5 分析url地址


我們發現這個GET請求攜帶了大量的未知參數,通過經驗分析,以及英語首字母,我們可以猜測P是page(頁),Q是query(查詢)的意思,其他xxx=-1應該是默認值,我們暫時按照這個猜測進行刪減參數。
測試結果截圖:


通過測試,發現猜測正確,只保留了q、t、p三個參數,依然可以訪問到傳輸的數據內容(事實上,這里t參數也可以刪除,同學們可以自行測試)
這樣,這條url對應的重要參數都分析出來了,鏈接如下:
https://so.csdn.net/api/v3/search?q=pythont=allp=2
跟我們猜測的一樣,q是代表查詢,p是代表page,這樣我們已經獲取到CSDN引擎的核心API,我們可以通過這條API來實現搜索引擎的功能。
至此,抓包分析過程結束。

3. 使用scrapy爬取CSDN數據接口

3.1 start_requests

使用start_requests函數進行構造20頁的url列表。
這里start_requests方法必須返回一個可迭代對象(iterable)。該對象包含了spider用于抓取的第一個Request。
當spider開始抓取并且未指定start_urls時,該方法將會被調用。該方法僅僅會被scrapy調用一次,因此可以將其實現為url生成器。
使用scrapy.Request可以發送一個GET請求,傳送到指定的函數進行處理。
詳細代碼操作如下:

 # 重寫start_urls的方法
    def start_requests(self):
        # 這里是控制CSDN的文章類型
        input_text = input('請輸入要爬取的CSDN類型:')
        # 是控制爬取文章頁數
        for i in range(1,31):
            start_url = 'https://so.csdn.net/api/v3/search?q={}p={}'.format(input_text,i)
            yield scrapy.Request(
                url=start_url,
                callback=self.parse
            )

3.2使用parse函數提取數據

這里需要掌握幾個重要的方法應用

  • response.text 請求返回的響應的字符串格式的數據
  • json.loads() loads方法是將str轉化為dict格式數據
  • json.dumps() dumps方法是將dict格式的數據轉化為str

具體代碼操作如下:

data_dict = json.loads(response.text)

使用循環遍歷json數據中的各個具體直播間數據的信息,新建一個item字典進行數據存儲,然后使用yield傳遞給引擎進行相應的處理
代碼操作如下:

def parse(self, response):
   # response.request.headers
   print(response.request.headers)
   data_dict = json.loads(response.text)
    for data in data_dict['result_vos']:
            item = {}
         # 標題
         item['title'] = data['title'].replace('em>','').replace('/em>','')
         # 作者
         item['author_label'] = data['nickname']
         # 瀏覽量
         item['view'] = data['view']
         # 點贊量
         item['zan'] = data['digg']
         # 地址鏈接
         item['link_url'] = data['url']

3.3保存成CSV文件

import csv
定義csv文件需要的列標題
headers = ['title','author_label','view','zan','jianjie' ,'link_url']
每次調用pipline的時候,都會運行一遍
class Day02Pipeline:
    def process_item(self, item, spider):
        文件默認保存到當前目錄下的douyu.csv中
這里a是追加操作
        with open('csdn.csv', 'a', encoding='utf-8', newline='') as fa:
            保存headers規定的列名內容
            writer = csv.DictWriter(fa, headers)
            writer.writerow(item)
            print(item)
      return item

3.4 運行結果

最后,我們來查看一下運行結果,以及保存好的csv文件
終端運行結果如下:



至此,爬蟲實驗結束。

4. 效果展示

4.1 flask后端展示

搭建過程略
(入門級搭建,沒有用企業級開發流程,后期可以考慮出flask的教程)
展示結構如下:


flask入門可自行百度

4.2 效果展示


點擊搜索后:


左上角的搜索頁面是入口頁面。

好了,這樣簡易版的搜索引擎就搭建好了。更多相關scrapy+flask+html搜索引擎內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Mysql實現簡易版搜索引擎的示例代碼
  • MySQL全文索引實現簡單版搜索引擎實例代碼
  • 詳細介紹基于MySQL的搜索引擎MySQL-Fullltext
  • python基于搜索引擎實現文章查重功能
  • Python實戰之手寫一個搜索引擎
  • Python大批量搜索引擎圖像爬蟲工具詳解
  • 360搜索引擎自動收錄php改寫方案
  • php記錄搜索引擎爬行記錄的實現代碼
  • Python無損音樂搜索引擎實現代碼
  • 基于 Mysql 實現一個簡易版搜索引擎

標簽:辛集 雅安 濰坊 許昌 渭南 贛州 七臺河 西安

巨人網絡通訊聲明:本文標題《scrapy+flask+html打造搜索引擎的示例代碼》,本文關鍵詞  scrapy+flask+html,打造,搜索引擎,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《scrapy+flask+html打造搜索引擎的示例代碼》相關的同類信息!
  • 本頁收集關于scrapy+flask+html打造搜索引擎的示例代碼的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品1区2区| 亚洲欧美综合在线精品| 日韩美女一区二区三区| 国产亚洲欧美色| 久久99国产精品久久99| 日本韩国精品在线| 欧美日韩视频一区二区| 国产精品丝袜久久久久久app| 天天影视色香欲综合网老头| 成人国产精品免费观看| 国产精品福利av| 蜜桃视频在线观看一区二区| 欧美三级蜜桃2在线观看| 国产精品久久久久久久久久久免费看 | 欧美中文字幕一二三区视频| 91精品国产色综合久久不卡电影| 国产精品国产三级国产普通话蜜臀 | 日韩你懂的在线播放| 亚洲国产三级在线| 欧美日本免费一区二区三区| 亚洲制服丝袜一区| 亚洲欧美日韩一区| 在线观看视频欧美| 亚洲成人你懂的| 欧美电影一区二区| 自拍偷拍亚洲欧美日韩| 成人福利视频在线| 欧美国产综合色视频| 国产一区二区女| 2020日本不卡一区二区视频| 久久国产夜色精品鲁鲁99| 欧美夫妻性生活| 91福利精品视频| 午夜视频在线观看一区| 6080国产精品一区二区| 国产不卡视频一区| 亚洲一区二区黄色| 日本一区免费视频| 91麻豆免费在线观看| 久久久久久久免费视频了| 亚洲乱码国产乱码精品精可以看| 欧美日韩国产精选| 热久久国产精品| 久久精品免费观看| 国产精品成人网| 欧美三级电影精品| 激情偷乱视频一区二区三区| 欧美三级电影在线看| 懂色av一区二区三区免费观看| 久久草av在线| 久久99国产精品久久| 美女精品自拍一二三四| 欧美成人精品3d动漫h| 亚洲一区二区黄色| 日韩亚洲欧美在线| 91精品黄色片免费大全| 久久99久久99| 国产一区91精品张津瑜| 亚洲成人激情综合网| 天堂一区二区在线免费观看| 婷婷久久综合九色国产成人| 免费看欧美美女黄的网站| 一区二区三区四区乱视频| 视频一区中文字幕国产| 国产精品一区免费在线观看| 成人动漫一区二区在线| 欧美色老头old∨ideo| 欧美一区二区成人6969| 欧美一区二区性放荡片| 这里只有精品电影| 国产精品久久久一本精品| 一区二区三区日韩精品视频| 国产精品乱码一区二区三区软件| 久久综合久久99| 国产精品久久久久久妇女6080| 亚洲色欲色欲www| 亚洲色图一区二区三区| 91精彩视频在线观看| 欧美xxxxxxxx| 午夜精品爽啪视频| 免费黄网站欧美| 91美女片黄在线观看91美女| 欧美日韩精品综合在线| 亚洲人123区| 丝袜a∨在线一区二区三区不卡| 成人性生交大片免费看中文| 91福利视频在线| 亚洲精品中文字幕在线观看| 99精品国产一区二区三区不卡 | 国产乱码字幕精品高清av| 久久99精品国产.久久久久久| 91精品国产综合久久蜜臀| 亚洲色图欧洲色图| 成人av网站在线| 精品国产欧美一区二区| 久久精品国产999大香线蕉| 日韩精品专区在线影院观看| 无码av免费一区二区三区试看| 一本到一区二区三区| 亚洲美女屁股眼交3| 在线观看区一区二| 亚洲超碰97人人做人人爱| 欧美一区二区三区日韩视频| 日韩影视精彩在线| 国产欧美日韩另类视频免费观看| av网站免费线看精品| 一区二区三区免费网站| 日韩欧美精品在线| 色综合天天综合网天天看片| 九色综合狠狠综合久久| 亚洲乱码中文字幕| 欧美一级高清大全免费观看| 久久福利视频一区二区| 亚洲一区二区三区四区在线观看 | 国产视频911| 欧美日本视频在线| 粉嫩在线一区二区三区视频| 亚洲精品国产精华液| 久久蜜臀精品av| 欧美在线观看禁18| 成人久久视频在线观看| 亚洲九九爱视频| 欧美成人在线直播| 欧美日韩一区二区不卡| 国产在线精品一区二区三区不卡 | 国产尤物一区二区| 综合欧美一区二区三区| 久久精品男人天堂av| 欧美三级在线看| 在线免费观看一区| 91美女福利视频| 亚洲精品国产一区二区精华液| 精品久久久久久综合日本欧美| 日韩三级免费观看| 日韩一区二区麻豆国产| 欧美日韩一区高清| 欧美一级片在线观看| 日韩一区二区高清| 日韩精品一区在线观看| 26uuu另类欧美亚洲曰本| 久久久美女毛片| 国产精品成人在线观看| 亚洲自拍欧美精品| 秋霞av亚洲一区二区三| 午夜久久久久久电影| 久久精品二区亚洲w码| 国产宾馆实践打屁股91| 91精品国产综合久久福利| 3751色影院一区二区三区| 1000部国产精品成人观看| 国产精品成人免费精品自在线观看 | 国产精品理论在线观看| 国产精品成人一区二区艾草 | 亚洲一区二区三区中文字幕 | 884aa四虎影成人精品一区| 精品99久久久久久| 欧美刺激午夜性久久久久久久| 日韩一二三四区| 国产精品久久久久永久免费观看 | 91精品国产乱码久久蜜臀| 日韩你懂的在线播放| 亚洲精品成人天堂一二三| 免费在线观看成人| 欧美一级欧美一级在线播放| 久久久高清一区二区三区| 亚洲欧美日韩成人高清在线一区| 亚洲蜜桃精久久久久久久| 欧美日韩亚洲丝袜制服| 中文字幕一区av| 99re成人精品视频| 久久久久久久综合色一本| 蜜桃av一区二区三区电影| 国产一区二区网址| 日韩免费性生活视频播放| 亚洲私人黄色宅男| 在线观看三级视频欧美| 一区二区三区蜜桃| 色88888久久久久久影院野外| 成人黄色软件下载| av在线不卡网| 亚洲乱码日产精品bd| 欧美亚洲一区二区在线观看| 久久久国产精品麻豆| 风间由美一区二区三区在线观看| 久久久国产午夜精品| 一本到三区不卡视频| 亚洲男同性恋视频| 一本色道亚洲精品aⅴ| 国产日韩精品视频一区| 国产精品一区久久久久| 国产丝袜美腿一区二区三区| 热久久一区二区| 日韩一二三区视频| 9i在线看片成人免费| 五月激情综合网| 久久久久久久久久电影| 99天天综合性| 免费在线观看不卡| 一区二区三区精品| 日韩欧美综合在线|