Open minhq460 opened 3 years ago
TypeScript Khi sử dụng TypeScript, bạn có thể đặt một kiểu để kiểm soát các trường tùy chỉnh:
import Parser from 'rss-parser'; type CustomFeed = {foo: string}; type CustomItem = {bar: number}; const parser: Parser<CustomFeed, CustomItem> = new Parser({ customFields: { feed: ['foo', 'baz'], item: ['bar'] } }); (async () => { const feed = await parser.parseURL('https://www.reddit.com/.rss'); console.log(feed.title); feed.items.forEach(item => { console.log(item.title + ':' + item.link) }); })()
Nguồn tham khảo về pasre RSS: https://www.npmjs.com/package/rss-parser Converter RSS to JSON: https://rss2json.com/#rss_url=https%3A%2F%2Fdantri.com.vn%2Ftrangchu.rss sử dụng link trong phần API call để đưa về project
rss-parser Cài đặt npm install --save rss-parser Khi sử dụng TypeScript, bạn có thể đặt một kiểu để kiểm soát các trường tùy chỉnh: import Parser from 'rss-parser'; type CustomFeed = {foo: string}; type CustomItem = {bar: number}; const parser: Parser<CustomFeed, CustomItem> = new Parser({ customFields: { feed: ['foo', 'baz'], item: ['bar'] } }); (async () => { const feed = await parser.parseURL('https://www.reddit.com/.rss'); console.log(feed.title); feed.items.forEach(item => { console.log(item.title + ':' + item.link) }); })() Các lựa chọn cấu hình file XML Cách 1: Nếu nguồn cấp dữ liệu RSS của bạn chứa các trường hiện chưa được trả lại, bạn có thể truy cập chúng bằng cách sử dụng customField stùy chọn. let parser = new Parser({ customFields: { feed: ['otherTitle', 'extendedDescription'], item: ['coAuthor','subtitle'], } });
parser.parseURL('https://www.reddit.com/.rss', function(err, feed) { console.log(feed.extendedDescription);
feed.items.forEach(function(entry) { console.log(entry.coAuthor + ':' + entry.subtitle); }) }) Cách 2: Để đổi tên các trường, bạn có thể chuyển vào một mảng có hai mục, ở định dạng [fromField, toField]: let parser = new Parser ( { customFields : { item : [ [ 'dc: coAuthor' , 'coAuthor' ] , ] } } ) Cách 3: Để chuyển các cờ bổ sung, hãy cung cấp một đối tượng làm mục mảng thứ ba. Hiện tại có một lá cờ như vậy: • keepArray (false)- đặt để truetrả về tất cả các giá trị cho các trường có thể có nhiều mục nhập. • includeSnippet (false)- đặt để truethêm một trường bổ sung ${toField}Snippet, với HTML bị loại bỏ let parser = new Parser ( { customFields : { item : [ [ 'media: content' , 'media: content' , { keepArray : true } ] , ] } } ) Nguồn tham khảo: https://www.npmjs.com/package/rss-parser
Nội dung: Tìm hiểu cách Pasre RSS trong angular, tổng hợp lại và comment tại đây Hạn chót: 11h59 ngày 20/6/2021