中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

廣東出現(xiàn)新病毒是真的嗎關(guān)鍵詞優(yōu)化方法有什么步驟

廣東出現(xiàn)新病毒是真的嗎,關(guān)鍵詞優(yōu)化方法有什么步驟,當(dāng)當(dāng)網(wǎng)網(wǎng)站建設(shè),組織網(wǎng)站設(shè)計(jì)公司scrapy數(shù)據(jù)建模與請(qǐng)求 學(xué)習(xí)目標(biāo): 應(yīng)用 在scrapy項(xiàng)目中進(jìn)行建模應(yīng)用 構(gòu)造Request對(duì)象,并發(fā)送請(qǐng)求應(yīng)用 利用meta參數(shù)在不同的解析函數(shù)中傳遞數(shù)據(jù) 1. 數(shù)據(jù)建模 通常在做項(xiàng)目的過(guò)程中,在items.py中進(jìn)行數(shù)據(jù)建模 1.1 為什么建模 定義item即提前…

scrapy數(shù)據(jù)建模與請(qǐng)求

學(xué)習(xí)目標(biāo):
  1. 應(yīng)用 在scrapy項(xiàng)目中進(jìn)行建模
  2. 應(yīng)用 構(gòu)造Request對(duì)象,并發(fā)送請(qǐng)求
  3. 應(yīng)用 利用meta參數(shù)在不同的解析函數(shù)中傳遞數(shù)據(jù)

1. 數(shù)據(jù)建模

通常在做項(xiàng)目的過(guò)程中,在items.py中進(jìn)行數(shù)據(jù)建模

1.1 為什么建模
  1. 定義item即提前規(guī)劃好哪些字段需要抓,防止手誤,因?yàn)槎x好之后,在運(yùn)行過(guò)程中,系統(tǒng)會(huì)自動(dòng)檢查
  2. 配合注釋一起可以清晰的知道要抓取哪些字段,沒(méi)有定義的字段不能抓取,在目標(biāo)字段少的時(shí)候可以使用字典代替
  3. 使用scrapy的一些特定組件需要Item做支持,如scrapy的ImagesPipeline管道類(lèi),百度搜索了解更多
1.2 如何建模

在items.py文件中定義要提取的字段:

# Define here the models for your scraped items
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.htmlimport scrapy
class DoubanItem(scrapy.Item):# define the fields for your item here like:name = scrapy.Field()    # 名字content = scrapy.Field()  # 內(nèi)容link = scrapy.Field()  # 鏈接txt = scrapy.Field()  #詳情介紹
1.3 如何使用模板類(lèi)

模板類(lèi)定義以后需要在爬蟲(chóng)中導(dǎo)入并且實(shí)例化,之后的使用方法和使用字典相同

job.py:

from myspider.items import MyspiderItem   # 導(dǎo)入Item,注意路徑
...def parse(self, response)item = MyspiderItem() # 實(shí)例化后可直接使用item['name'] = node.xpath('./h3/text()').extract_first()item['title'] = node.xpath('./h4/text()').extract_first()item['desc'] = node.xpath('./p/text()').extract_first()print(item)

注意:

  1. from myspider.items import MyspiderItem這一行代碼中 注意item的正確導(dǎo)入路徑,忽略pycharm標(biāo)記的錯(cuò)誤
  2. python中的導(dǎo)入路徑要訣:從哪里開(kāi)始運(yùn)行,就從哪里開(kāi)始導(dǎo)入
1.4 開(kāi)發(fā)流程總結(jié)
  1. 創(chuàng)建項(xiàng)目

    scrapy startproject 項(xiàng)目名
  2. 明確目標(biāo)

    在items.py文件中進(jìn)行建模
  3. 創(chuàng)建爬蟲(chóng)

    3.1 創(chuàng)建爬蟲(chóng)

    scrapy genspider 爬蟲(chóng)名 允許的域
    3.2 完成爬蟲(chóng)

    修改start_urls
    檢查修改allowed_domains
    編寫(xiě)解析方法
  4. 保存數(shù)據(jù)

    在pipelines.py文件中定義對(duì)數(shù)據(jù)處理的管道

    在settings.py文件中注冊(cè)啟用管道

2. 翻頁(yè)請(qǐng)求的思路

對(duì)于要提取如下圖中所有頁(yè)面上的數(shù)據(jù)該怎么辦?

回顧requests模塊是如何實(shí)現(xiàn)翻頁(yè)請(qǐng)求的:

  1. 找到下一頁(yè)的URL地址
  2. 調(diào)用requests.get(url)

scrapy實(shí)現(xiàn)翻頁(yè)的思路:

  1. 找到下一頁(yè)的url地址
  2. 構(gòu)造url地址的請(qǐng)求對(duì)象,傳遞給引擎

3. 構(gòu)造Request對(duì)象,并發(fā)送請(qǐng)求

3.1 實(shí)現(xiàn)方法
  1. 確定url地址
  2. 構(gòu)造請(qǐng)求,scrapy.Request(url,callback)
    • callback:指定解析函數(shù)名稱(chēng),表示該請(qǐng)求返回的響應(yīng)使用哪一個(gè)函數(shù)進(jìn)行解析
  3. 把請(qǐng)求交給引擎:yield scrapy.Request(url,callback)
3.2 網(wǎng)易招聘爬蟲(chóng)

通過(guò)爬取豆瓣新書(shū)速遞的頁(yè)面信息,學(xué)習(xí)如何實(shí)現(xiàn)翻頁(yè)請(qǐng)求

地址: https://book.douban.com/latest?icn=index-latestbook-all

思路分析:
  1. 獲取首頁(yè)的數(shù)據(jù)
  2. 尋找下一頁(yè)的地址,進(jìn)行翻頁(yè),獲取數(shù)據(jù)
注意:
  1. 可以在settings中設(shè)置ROBOTS協(xié)議
# False表示忽略網(wǎng)站的robots.txt協(xié)議,默認(rèn)為T(mén)rue
ROBOTSTXT_OBEY = False
  1. 可以在settings中設(shè)置User-Agent:
# scrapy發(fā)送的每一個(gè)請(qǐng)求的默認(rèn)UA都是設(shè)置的這個(gè)User-Agent
USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'
scrapy.Request的更多參數(shù)
scrapy.Request(url[,callback,method="GET",headers,body,cookies,meta,dont_filter=False])
參數(shù)解釋
  1. 中括號(hào)里的參數(shù)為可選參數(shù)
  2. callback:表示當(dāng)前的url的響應(yīng)交給哪個(gè)函數(shù)去處理
  3. meta:實(shí)現(xiàn)數(shù)據(jù)在不同的解析函數(shù)中傳遞,meta默認(rèn)帶有部分?jǐn)?shù)據(jù),比如下載延遲,請(qǐng)求深度等
  4. dont_filter:默認(rèn)為False,會(huì)過(guò)濾請(qǐng)求的url地址,即請(qǐng)求過(guò)的url地址不會(huì)繼續(xù)被請(qǐng)求,對(duì)需要重復(fù)請(qǐng)求的url地址可以把它設(shè)置為T(mén)ure,比如貼吧的翻頁(yè)請(qǐng)求,頁(yè)面的數(shù)據(jù)總是在變化;start_urls中的地址會(huì)被反復(fù)請(qǐng)求,否則程序不會(huì)啟動(dòng)
  5. method:指定POST或GET請(qǐng)求
  6. headers:接收一個(gè)字典,其中不包括cookies
  7. cookies:接收一個(gè)字典,專(zhuān)門(mén)放置cookies
  8. body:接收json字符串,為POST的數(shù)據(jù),發(fā)送payload_post請(qǐng)求時(shí)使用(在下一章節(jié)中會(huì)介紹post請(qǐng)求)

4. meta參數(shù)的使用

meta的作用:meta可以實(shí)現(xiàn)數(shù)據(jù)在不同的解析函數(shù)中的傳遞

在爬蟲(chóng)文件的parse方法中,提取詳情頁(yè)增加之前callback指定的parse_detail函數(shù):

def parse(self,response):...yield scrapy.Request(detail_url, callback=self.parse_detail,meta={"item":item})
...def parse_detail(self,response):#獲取之前傳入的itemitem = resposne.meta["item"]
特別注意
  1. meta參數(shù)是一個(gè)字典
  2. meta字典中有一個(gè)固定的鍵proxy,表示代理ip,關(guān)于代理ip的使用我們將在scrapy的下載中間件的學(xué)習(xí)中進(jìn)行介紹

小結(jié)

  1. 完善并使用Item數(shù)據(jù)類(lèi):
  2. 在items.py中完善要爬取的字段
  3. 在爬蟲(chóng)文件中先導(dǎo)入Item
  4. 實(shí)力化Item對(duì)象后,像字典一樣直接使用
  5. 構(gòu)造Request對(duì)象,并發(fā)送請(qǐng)求:
  6. 導(dǎo)入scrapy.Request類(lèi)
  7. 在解析函數(shù)中提取url
  8. yield scrapy.Request(url, callback=self.parse_detail, meta={})
  9. 利用meta參數(shù)在不同的解析函數(shù)中傳遞數(shù)據(jù):
  10. 通過(guò)前一個(gè)解析函數(shù) yield scrapy.Request(url, callback=self.xxx, meta={}) 來(lái)傳遞meta
  11. 在self.xxx函數(shù)中 response.meta.get(‘key’, ‘’) 或 response.meta[‘key’] 的方式取出傳遞的數(shù)據(jù)

http://www.risenshineclean.com/news/38793.html

相關(guān)文章:

  • 上海 做網(wǎng)站線(xiàn)下推廣方法有哪些
  • 定制網(wǎng)站開(kāi)發(fā)哪家強(qiáng)某網(wǎng)站seo診斷分析和優(yōu)化方案
  • iis網(wǎng)站日志今日國(guó)際新聞?lì)^條新聞
  • 企業(yè)網(wǎng)站設(shè)計(jì)調(diào)查問(wèn)卷全國(guó)十大婚戀網(wǎng)站排名
  • 表格網(wǎng)站源碼企業(yè)網(wǎng)站seo點(diǎn)擊軟件
  • 網(wǎng)站轉(zhuǎn)移空間以后ip會(huì)變化嗎360網(wǎng)址大全
  • 商城網(wǎng)站建設(shè)招聘網(wǎng)站推廣方式有哪些
  • 學(xué)生管理系統(tǒng)seo英文
  • 合優(yōu)網(wǎng)合川招聘杭州排名優(yōu)化公司電話(huà)
  • 網(wǎng)站開(kāi)發(fā)工程師工作職責(zé)seo模擬點(diǎn)擊軟件
  • 長(zhǎng)沙房產(chǎn)交易中心官網(wǎng)丹東網(wǎng)站seo
  • 經(jīng)典網(wǎng)站首頁(yè)設(shè)計(jì)網(wǎng)絡(luò)營(yíng)銷(xiāo)評(píng)價(jià)的名詞解釋
  • 湖北省建設(shè)廳建筑資料官方網(wǎng)站360點(diǎn)睛實(shí)效平臺(tái)推廣
  • 電子商務(wù)公司營(yíng)業(yè)執(zhí)照經(jīng)營(yíng)范圍seo優(yōu)化步驟
  • 遼陽(yáng)專(zhuān)業(yè)建設(shè)網(wǎng)站公司電話(huà)新媒體營(yíng)銷(xiāo)策略有哪些
  • 做的比較簡(jiǎn)約的網(wǎng)站個(gè)人開(kāi)發(fā)app可以上架嗎
  • 石家莊一日游最佳景點(diǎn)天津關(guān)鍵詞優(yōu)化網(wǎng)站
  • 音樂(lè)網(wǎng)站建站發(fā)新聞稿平臺(tái)
  • 高性能網(wǎng)站建設(shè)進(jìn)階指南:web開(kāi)發(fā)者性能優(yōu)化最佳實(shí)踐重慶網(wǎng)站優(yōu)化軟件
  • 程序源代碼下載網(wǎng)站全球搜索引擎排行榜
  • 做網(wǎng)站注意哪些搜索引擎優(yōu)化的核心是
  • 有什么推薦做簡(jiǎn)歷的網(wǎng)站百度官網(wǎng)入口
  • 網(wǎng)站建立企業(yè)巨量千川廣告投放平臺(tái)
  • 問(wèn)題反饋的網(wǎng)站怎么做seo信息查詢(xún)
  • 蘇州響應(yīng)式網(wǎng)站建設(shè)進(jìn)入百度
  • 做本地網(wǎng)站賺錢(qián)嗎?2020最成功的網(wǎng)絡(luò)營(yíng)銷(xiāo)
  • 自己做網(wǎng)站出口關(guān)鍵詞優(yōu)化排名平臺(tái)
  • 跨境獨(dú)立站建站免費(fèi)手游推廣代理平臺(tái)渠道
  • 網(wǎng)站框架指的是什么百度公司推廣電話(huà)
  • 吉林省最新疫情最新消息優(yōu)化大師官網(wǎng)登錄入口