亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python爬蟲庫scrapy簡單使用實例詳解

2020-02-15 21:17:20
字體:
來源:轉載
供稿:網友

最近因為項目需求,需要寫個爬蟲爬取一些題庫。在這之前爬蟲我都是用node或者php寫的。一直聽說python寫爬蟲有一手,便入手了python的爬蟲框架scrapy.

下面簡單的介紹一下scrapy的目錄結構與使用:

首先我們得安裝scrapy框架

pip install scrapy

接著使用scrapy命令創建一個爬蟲項目:

scrapy startproject questions

相關文件簡介:

scrapy.cfg: 項目的配置文件

questions/: 該項目的python模塊。之后您將在此加入代碼。

questions/items.py: 項目中的item文件.

questions/pipelines.py: 項目中的pipelines文件.

questions/settings.py: 項目的設置文件.

questions/spiders/: 放置spider代碼的目錄.

questions/spiders/xueersi.py: 實現爬蟲的主體代碼.

xueersi.py  爬蟲主體

# -*- coding: utf-8 -*-import scrapyimport timeimport numpyimport refrom questions.items import QuestionsItemclass xueersiSpider(scrapy.Spider):  name = "xueersi" # 爬蟲名字  allowed_domains = ["tiku.xueersi.com"] # 目標的域名  # 爬取的目標地址  start_urls = [    "http://tiku.xueersi.com/shiti/list_1_1_0_0_4_0_1",    "http://tiku.xueersi.com/shiti/list_1_2_0_0_4_0_1",    "http://tiku.xueersi.com/shiti/list_1_3_0_0_4_0_1",  ]  levels = ['偏易','中檔','偏難']  subjects = ['英語','語文','數學']   # 爬蟲開始的時候,自動調用該方法,如果該方法不存在會自動調用parse方法  # def start_requests(self):  #   yield scrapy.Request('http://tiku.xueersi.com/shiti/list_1_2_0_0_4_0_39',callback=self.getquestion)  # start_requests方法不存在時,parse方法自動被調用  def parse(self, response):     # xpath的選擇器語法不多介紹,可以直接查看官方文檔    arr = response.xpath("http://ul[@class='pagination']/li/a/text()").extract()    total_page = arr[3]     # 獲取分頁    for index in range(int(total_page)):      yield scrapy.Request(response.url.replace('_0_0_4_0_1',"_0_0_4_0_"+str(index)),callback=self.getquestion) # 發出新的請求,獲取每個分頁所有題目  # 獲取題目  def getquestion(self,response):    for res in response.xpath('//div[@class="main-wrap"]/ul[@class="items"]/li'):      item = QuestionsItem() # 實例化Item類      # 獲取問題      questions = res.xpath('./div[@class="content-area"]').re(r'<div class="content-area">?([/s/S]+?)<(table|//td|div|br)')      if len(questions):        # 獲取題目        question = questions[0].strip()        item['source'] = question        dr = re.compile(r'<[^>]+>',re.S)        question = dr.sub('',question)        content = res.extract()        item['content'] = question        # 獲取課目        subject = re.findall(ur'http:////tiku/.xueersi/.com//shiti//list_1_(/d+)',response.url)        item['subject'] = self.subjects[int(subject[0])-1]        # 獲取難度等級        levels = res.xpath('//div[@class="info"]').re(ur'難度:([/s/S]+?)<')        item['level'] = self.levels.index(levels[0])+1                # 獲取選項        options = re.findall(ur'[A-D][/..]([/s/S]+?)<(//td|//p|br)',content)        item['options'] = options        if len(options):          url = res.xpath('./div[@class="info"]/a/@href').extract()[0]          request = scrapy.Request(url,callback=self.getanswer)          request.meta['item'] = item # 緩存item數據,傳遞給下一個請求          yield request      #for option in options:  # 獲取答案        def getanswer(self,response):        res = response.xpath('//div[@class="part"]').re(ur'<td>([/s/S]+?)<//td>')    con = re.findall(ur'([/s/S]+?)<br>[/s/S]+?([A-D])',res[0]) # 獲取含有解析的答案    if con:      answer = con[0][1]      analysis = con[0][0] # 獲取解析    else:      answer = res[0]      analysis = ''    if answer:      item = response.meta['item'] # 獲取item      item['answer'] = answer.strip()      item['analysis'] = analysis.strip()      item['answer_url'] = response.url      yield item # 返回item,輸出管道(pipelines.py)會自動接收該數據             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩成人在线视频| 成人免费看片视频| 国语对白做受69| 国产在线视频一区| 91精品久久久久久久久久久久久久| 亚洲小视频在线观看| 日韩在线免费观看视频| 在线视频免费一区二区| 国产精品海角社区在线观看| 中文字幕亚洲自拍| 91欧美精品成人综合在线观看| 黄色一区二区三区| 色www亚洲国产张柏芝| 国产美女直播视频一区| 成人av在线亚洲| 国产精品日日摸夜夜添夜夜av| 精品亚洲aⅴ在线观看| 欧美成人免费全部| 成人午夜激情免费视频| 狠狠躁夜夜躁人人爽天天天天97| 自拍偷拍亚洲在线| www.日韩视频| 色无极亚洲影院| 亚洲丁香久久久| 日韩激情片免费| 欧美肥婆姓交大片| 欧美巨猛xxxx猛交黑人97人| 一区二区在线免费视频| 国产福利精品在线| 日韩在线www| 国内精品久久久久久久| 91精品久久久久久久久久另类| 午夜美女久久久久爽久久| 欧美日本国产在线| 亚洲97在线观看| 国产专区欧美专区| 欧美精品一区二区三区国产精品| 亚洲色图综合网| 久久久久女教师免费一区| 亚洲综合小说区| 亚洲成色777777女色窝| 韩国福利视频一区| 国产深夜精品福利| 51精品国产黑色丝袜高跟鞋| 亚洲欧美在线一区| 91久久精品美女| 亚洲欧美一区二区精品久久久| 97涩涩爰在线观看亚洲| 亚洲第一区在线| 伊人久久久久久久久久| 久久躁狠狠躁夜夜爽| 欧美人在线视频| 日韩视频免费大全中文字幕| 中文字幕亚洲在线| 精品日韩中文字幕| 国产欧美日韩专区发布| 欧日韩在线观看| 亚洲日韩欧美视频| 456国产精品| 91人人爽人人爽人人精88v| 国产精品男人爽免费视频1| 国产精品免费一区二区三区都可以| 免费91在线视频| 97精品免费视频| 亚洲天堂av网| 欧美成人精品xxx| 欧美激情网站在线观看| 国产精品爱久久久久久久| 欧美成人免费小视频| 影音先锋日韩有码| 亚洲黄在线观看| 国产精品18久久久久久麻辣| 亚洲无限av看| 懂色av影视一区二区三区| 日韩电影免费观看在线观看| 国产精品午夜一区二区欲梦| 国产成人激情小视频| 欧洲成人午夜免费大片| 欧美精品一区二区免费| 欧美肥婆姓交大片| 欧美成人精品激情在线观看| 日韩经典第一页| 亚洲无线码在线一区观看| 91精品国产综合久久香蕉最新版| 日韩美女视频免费看| 九九热r在线视频精品| 欧美成人在线免费视频| 国产欧美 在线欧美| 国产一区二区三区毛片| 欧美福利视频在线| 亚洲永久在线观看| 色婷婷av一区二区三区在线观看| 欧美亚洲日本网站| 国产精品美女www爽爽爽视频| 亚洲美女视频网| 国产日韩专区在线| 欧美亚洲午夜视频在线观看| 成人欧美一区二区三区黑人孕妇| 色妞一区二区三区| 国产精品一区二区三区免费视频| 成人黄色免费在线观看| 久久免费精品日本久久中文字幕| 久久久国产精彩视频美女艺术照福利| 亚洲精品第一页| 国产精品av电影| 久久久女女女女999久久| 亚洲精品福利在线| 欧美亚洲激情在线| 国产精品视频资源| 在线视频日本亚洲性| 2018国产精品视频| 久久网福利资源网站| 欧美二区在线播放| 狠狠躁夜夜躁人人爽天天天天97| 中文字幕日韩av| 欧美黑人巨大精品一区二区| 九九热这里只有在线精品视| 高清一区二区三区四区五区| 97视频国产在线| 久久久久九九九九| 亚洲欧洲一区二区三区久久| 国产在线观看91精品一区| 国产欧美精品久久久| 日韩精品日韩在线观看| 亚洲精品免费在线视频| 色综合久久中文字幕综合网小说| 欧美激情在线一区| 2018中文字幕一区二区三区| 最近2019好看的中文字幕免费| 91精品久久久久久久| 性亚洲最疯狂xxxx高清| 国产女人精品视频| 成人综合网网址| 欧美影院在线播放| 国产亚洲精品久久久久久777| 91精品视频在线播放| 日韩av第一页| 欧美大片欧美激情性色a∨久久| 国产精品久久91| 国产一区二区三区在线免费观看| 欧美乱妇高清无乱码| 国产精品海角社区在线观看| 久久视频这里只有精品| 在线日韩日本国产亚洲| 亚洲成成品网站| 久久青草精品视频免费观看| 国产精品精品一区二区三区午夜版| 懂色av影视一区二区三区| 亚洲第一免费播放区| 91免费人成网站在线观看18| 亚洲人成网7777777国产| 成人97在线观看视频| 国产精品自在线| 国产一区二区三区免费视频| 韩国一区二区电影| 日韩欧美在线免费| 色妞色视频一区二区三区四区| 26uuu亚洲国产精品| 亚洲第一页中文字幕| 亚洲国产精品电影在线观看| 久久亚洲电影天堂| 欧美日韩国产一区在线| 国内免费久久久久久久久久久| 成人免费视频97|