আমি কীভাবে কোনও ওয়েবসাইটে সমস্ত পিডিএফ লিঙ্কগুলি বের করতে পারি?


10

এটি সামান্য বিষয়, তবে আমি আশা করি আপনি ছেলেরা আমাকে সহায়তা করবে। আমার প্রয়োজন নিবন্ধগুলি পূর্ণ একটি ওয়েবসাইট পেয়েছি, তবে সেগুলি প্রচুর অকেজো ফাইলের সাথে মিশ্রিত হয় (প্রধানত jpgs)।

লিঙ্কগুলির একটি তালিকা তৈরি করার জন্য সার্ভারে সমস্ত পিডিএফ সন্ধানের ( ডাউনলোড না করে ) উপায় আছে কিনা তা আমি জানতে চাই । মূলত আমি কেবল পিডিএফ নয় এমন কিছু ফিল্টার করে আউট করতে চাই, কী ডাউনলোড করবেন এবং কী নয় সে সম্পর্কে আরও ভাল ধারণা পেতে।


3
আপনি কার্যটির জন্য ডাউনপঞ্জি সমস্ত ব্যবহার করতে সক্ষম হতে পারেন । এটি একটি ফায়ারফক্স এক্সটেনশান যা ফিল্টার এবং আরও অনেক কিছু দ্বারা ফাইল ডাউনলোড করার অনুমতি দেয়। আমি নিজেই এটি ব্যবহার করি নি তাই আমি একটি পূর্ণ টিউটোরিয়াল পোস্ট করতে সক্ষম হবো না তবে অন্য কেউ হতে পারে। আপনি যদি এই এক্সটেনশনের সাথে আরও বেশি পরিচিত হন তবে দয়া করে যথাযথ উত্তর পোস্ট করতে দ্বিধা বোধ করবেন।
গ্লুটানীমেট

আহ, আমি কেবল দেখেছি যে আপনি কেবল লিঙ্কগুলি ফিল্টার করতে চান, সেগুলি ডাউনলোড না করে। আমি পোস্ট করি এমন এক্সটেনশনের মাধ্যমে তা সম্ভব কিনা তা আমি জানি না। তবে এটি চেষ্টা করে দেখুন!
গ্লুটানীমেট

উত্তর:


15

সংক্ষিপ্ত বিবরণ

ঠিক আছে, আপনি এখানে যান। এটি একটি স্ক্রিপ্ট আকারে একটি প্রোগ্রামেটিক সমাধান:

#!/bin/bash

# NAME:         pdflinkextractor
# AUTHOR:       Glutanimate (http://askubuntu.com/users/81372/), 2013
# LICENSE:      GNU GPL v2
# DEPENDENCIES: wget lynx
# DESCRIPTION:  extracts PDF links from websites and dumps them to the stdout and as a textfile
#               only works for links pointing to files with the ".pdf" extension
#
# USAGE:        pdflinkextractor "www.website.com"

WEBSITE="$1"

echo "Getting link list..."

lynx -cache=0 -dump -listonly "$WEBSITE" | grep ".*\.pdf$" | awk '{print $2}' | tee pdflinks.txt

# OPTIONAL
#
# DOWNLOAD PDF FILES
#
#echo "Downloading..."    
#wget -P pdflinkextractor_files/ -i pdflinks.txt

স্থাপন

আপনার থাকতে হবে wgetএবং lynxইনস্টল করতে হবে :

sudo apt-get install wget lynx

ব্যবহার

স্ক্রিপ্টটি .pdfওয়েবসাইটের সমস্ত ফাইলের একটি তালিকা পেয়ে এটি কমান্ড লাইন আউটপুট এবং কার্যকারী ডিরেক্টরিতে একটি পাঠ্য ফাইলে ফেলে দেবে। যদি আপনি "alচ্ছিক" wgetকমান্ডটি মন্তব্য করেন তবে স্ক্রিপ্টটি সমস্ত ফাইল একটি নতুন ডিরেক্টরিতে ডাউনলোড করতে এগিয়ে যাবে।

উদাহরণ

$ ./pdflinkextractor http://www.pdfscripting.com/public/Free-Sample-PDF-Files-with-scripts.cfm
Getting link list...
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/JSPopupCalendar.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/ModifySubmit_Example.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/DynamicEmail_XFAForm_V2.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/AcquireMenuItemNames.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/BouncingButton.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/JavaScriptClock.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/Matrix2DOperations.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/RobotArm_3Ddemo2.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/SimpleFormCalculations.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/TheFlyv3_EN4Rdr.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/ImExportAttachSample.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/AcroForm_BasicToggle.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/AcroForm_ToggleButton_Sample.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/AcorXFA_BasicToggle.pdf
http://www.pdfscripting.com/public/FreeStuff/PDFSamples/ConditionalCalcScripts.pdf
Downloading...
--2013-12-24 13:31:25--  http://www.pdfscripting.com/public/FreeStuff/PDFSamples/JSPopupCalendar.pdf
Resolving www.pdfscripting.com (www.pdfscripting.com)... 74.200.211.194
Connecting to www.pdfscripting.com (www.pdfscripting.com)|74.200.211.194|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 176008 (172K) [application/pdf]
Saving to: `/Downloads/pdflinkextractor_files/JSPopupCalendar.pdf'

100%[===========================================================================================================================================================================>] 176.008      120K/s   in 1,4s    

2013-12-24 13:31:29 (120 KB/s) - `/Downloads/pdflinkextractor_files/JSPopupCalendar.pdf' saved [176008/176008]

...

আপনি "$(pwd)/pdflinks.txt"পরিবর্তে ব্যবহার করবেন না কেন pdflinks.txt?
jfs

@ জেফেসেবাস্টিয়ান আপনি ঠিক বলেছেন, এটি অনর্থক। আমি স্ক্রিপ্ট পরিবর্তন করেছি। ধন্যবাদ!
গ্লুটানীমেট

পারফেক্টো কাজ করে!
ক্রিস স্মিথ

6

একটি সাধারণ জাভাস্ক্রিপ্ট স্নিপেট এটি সমাধান করতে পারে: (দ্রষ্টব্য : আমি ধরে নিচ্ছি লিঙ্কের সমস্ত পিডিএফ ফাইলগুলি .pdf দিয়ে শেষ হয়েছে))

আপনার ব্রাউজার জাভাস্ক্রিপ্ট কনসোলটি খুলুন, নিম্নলিখিত কোডটি অনুলিপি করুন এবং এটি জেএস কনসোলে পেস্ট করুন, হয়ে গেল!

//get all link elements
var link_elements = document.querySelectorAll(":link");

//extract out all uris.
var link_uris = [];
for (var i=0; i < link_elements.length; i++)
{
    //remove duplicated links
    if (link_elements[i].href in link_uris)
        continue;

    link_uris.push (link_elements[i].href);
}

//filter out all links containing ".pdf" string
var link_pdfs = link_uris.filter (function (lu) { return lu.indexOf (".pdf") != -1});

//print all pdf links
for (var i=0; i < link_pdfs.length; i++)
    console.log (link_pdfs[i]);

1
আমার জন্য, এটি খুব বেশি ফিরে আসে। luফাংশন হতে প্রয়োজন: lu.endsWith (".pdf") == 1, তাহলে সেই আমাকে তাদের মধ্যে "* .pdf *" একমাত্র পিডিএফ লিঙ্ক, সব না সংযোগগুলি পেয়েছিলাম, যা পোস্ট হিসাবে কি আমি কোড সহ পেয়েছিলাম। FWIW।
ডেভিড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.