الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الحصول على الصور من صفحة ويب Html

مغلق
بدأه micheal R jordan في 8 أكتوبر 2007 · 5 رد · 984 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

إخواني الاعزاء لقد بحثت بشتى الطرق حتى أجد الطريقة الصحيحة لعمل هذا الامر ولكنني لم أجد

أريد الحصول على الصور من صفحة html ولكن دون استعمال WebBrowser بل فقط HTML Object Library

والطريقة لمن يريد استعمالها هي بعد اضافة WebBrowser و HTML Object Library

هي

Private Sub Getimages(StrURL As String)
MousePointer = vbHourglass
Dim iDoc As HTMLDocument
Dim Element As Object

WebBrowser1.navigate StrURL

While Not WebBrowser1.readyState = READYSTATE_COMPLETE
DoEvents
Wend
Set iDoc = WebBrowser1.document
 For Each Element In iDoc.All
 If Element.tagName = "IMG" Then

	LstImages.AddItem Element.href
				End If
	Next
MousePointer = vbDefault
End Sub

المشكلة عندي هنا

Set iDoc = WebBrowser1.document

فأنا لا أستطيع الحصول على document باستعمال HTML Object Library فقط للتعامل معه

أرجو المساعدة

تم تعديل هذه المشاركة بواسطة micheal R jordan في 8 أكتوبر 2007 في 10:49

#2

وعليكم السلام ورحمة الله وبركاته

أظن أنه على الأقل يستوجب وجود instance من الie مشغلة للبحث داخلها

يمكن الاستغناء عن تشغيل الie داخل البرنامج والبحث فقط على الصفحات المفتوحة خارج البرنامج ,إذا كن يساعدك طبعا

أما إذا كنت مصرا على عدم فتح أي صفحة فلا أظن أنك ستحصل على الdocument

فقط أردت أن أعدل على الكود لكي نعمل بحث فقط داخل الصفحات المفتوحة طبعا صفحات الأنترنت اكسبلورر

بدون إضافة الwebbrowser والاكتفار بالمرجع فقط الخاص به

Function Search_PIC_IN_IE()
   Set objShellWins = New SHDocVw.ShellWindows
   For Each objIE In objShellWins
	  Set objDoc = objIE.Document

	  If TypeName(objDoc) = "HTMLDocument" Then
	   For Each Element In objDoc.All
		  If Element.tagName = "IMG" Then
		  List1.AddItem Element.href
	  End If
	  Next
	End If
	Next
End Function

يمكننا تحديد عنوان محدد باضافة شرط على objIE.LocationURL الذي يحدد عنوان الصفحة المفتوحة

والله أعلم

#3

شكرا أخي الكريم

أقدر مساعدتك ولكن السبب الرئيسي في عدم رغبتي في استعمال هذا الامر او الامر الذي كتبته في السؤال

هو الوقت اللازم لتحمل الصفحة بكاملها

فهذا يعني أنه عليه تحميل جميع الصور وما إلى ذلك قبل أن يصل إلى الامر الذي يطلب منه ستخراج الصور وما إلى ذلك

ونحن نعرف أن الكود يصل بسرعة أولا تم يبدأ بتحميل ما يحتاج إلى تحميله

اقتباس
أظن أنه على الأقل يستوجب وجود instance من الie مشغلة للبحث داخلها

لا أعتقد ذلك

لا حظ معي هنا وذلك لتحميل الوصلات فقط Links

Private Sub GetURLs(StrURL As String, LstLinks As List)
'
	Dim objLink As HTMLLinkElement
	Dim objMSHTML As New MSHTML.HTMLDocument
	Dim objDoc As New MSHTML.HTMLDocument

	'
	Set objDoc = objMSHTML.createDocumentFromUrl(CmbURL.Text, vbNullString)

MousePointer = vbHourglass

	While objDoc.readyState <> "complete"
		DoEvents
	Wend
	'get all Links

	For Each objLink In objDoc.links

		 LstLinks.AddItem objLink
  End If
	Next

MousePointer = vbDefault

End Sub

آمل أنك فهمت قصدي

تم تعديل هذه المشاركة بواسطة micheal R jordan في 8 أكتوبر 2007 في 13:17

#4

لكنك في الكود استعملت أيضا instance وبحثت داخلها

المهم اذا كان المشكل في تحميل الصفحة فيمكنك الاستفادة من الحدث DocumentComplete

يعني لا تقوم بالبحث إلا عند حدوثه

بالتوفيق ان شاء الله

#5

السلام عليكم

أخي الكريم

إن استعمال WebBrowser كما قلت سابقا ينتظر حتى يكتمل التحميل وليس مباشرة بعد حصوله على السورس كود

المشكلة ليست DocumentComplete بل هي في الوقت الذي يتطلبه حتى يصل إلى DocumentComplete

استعمل الكودين المرفقين وسترى الفرق

سلام

#6

هذا سيكون راجع لسرعة التحميل للصفحة

ربما يفيدك تعطيل عرض الصور من المتصفح (خصائص الأنترنت اكسبلورر) لتسريع تحميل الصفحة

هذا الموضوع مغلق.

مواضيع مشابهة