scrapy利用selenium實現爬取豆瓣閱讀的方法教程?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創新互聯公司專注于任丘網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供任丘營銷型網站建設,任丘網站制作、任丘網頁設計、任丘網站官網定制、微信平臺小程序開發服務,打造任丘網絡公司原創品牌,更為您提供任丘網站排名全網營銷落地服務。首先創建scrapy項目
命令:scrapy startproject douban_read
創建spider
命令:scrapy genspider douban_spider url
網址:https://read.douban.com/charts
關鍵注釋代碼中有,若有不足,請多指教
scrapy項目目錄結構如下
douban_spider.py文件代碼
爬蟲文件
import scrapy import re, json from ..items import DoubanReadItem class DoubanSpiderSpider(scrapy.Spider): name = 'douban_spider' # allowed_domains = ['www'] start_urls = ['https://read.douban.com/charts'] def parse(self, response): # print(response.text) # 獲取圖書分類的url type_urls = response.xpath('//div[@class="rankings-nav"]/a[position()>1]/@href').extract() # print(type_urls) for type_url in type_urls: # /charts?type=unfinished_column&index=featured&dcs=charts&dcm=charts-nav part_param = re.search(r'charts\?(.*?)&dcs', type_url).group(1) # https://read.douban.com/j/index//charts?type=intermediate_finalized&index=science_fiction&verbose=1 ajax_url = 'https://read.douban.com/j/index//charts?{}&verbose=1'.format(part_param) yield scrapy.Request(ajax_url, callback=self.parse_ajax, encoding='utf-8', meta={'request_type': 'ajax'}) def parse_ajax(self, response): # print(response.text) # 獲取分類中圖書的json數據 json_data = json.loads(response.text) for data in json_data['list']: item = DoubanReadItem() item['book_id'] = data['works']['id'] item['book_url'] = data['works']['url'] item['book_title'] = data['works']['title'] item['book_author'] = data['works']['author'] item['book_cover_image'] = data['works']['cover'] item['book_abstract'] = data['works']['abstract'] item['book_wordCount'] = data['works']['wordCount'] item['book_kinds'] = data['works']['kinds'] # 把item yield給Itempipeline yield item
分享題目:scrapy利用selenium實現爬取豆瓣閱讀的方法教程-創新互聯
當前網址:http://vcdvsql.cn/article44/dsdpee.html
成都網站建設公司_創新互聯,為您提供網站建設、網頁設計公司、營銷型網站建設、品牌網站建設、網站改版、軟件開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯