วิธีใช้พร็อกซี่เมื่อทำการขูดเว็บใน Python

คำแนะนำเกี่ยวกับวิธีการใช้พร็อกซี่เมื่อทำการขูดเว็บไซต์

พร็อกซีเซิร์ฟเวอร์คืออะไร?

พร็อกซีเซิร์ฟเวอร์คือคอมพิวเตอร์บนอินเทอร์เน็ตที่ยอมรับคำขอขาเข้าจากไคลเอ็นต์และส่งต่อคำขอเหล่านั้นไปยังเซิร์ฟเวอร์ปลายทาง คำว่า proxy หมายถึง "กระทำการแทนผู้อื่น" และ proxy server ทำหน้าที่แทนผู้ใช้ พร็อกซีเซิร์ฟเวอร์ใช้ที่อยู่ IP อื่นในนามของผู้ใช้ โดยปกปิดที่อยู่จริงของผู้ใช้จากเว็บเซิร์ฟเวอร์

พร็อกซีเซิร์ฟเวอร์ทำงานอย่างไร

พร็อกซีเซิร์ฟเวอร์มาตรฐานทำงานในลักษณะต่อไปนี้:

1. ผู้ใช้ป้อน URL ของเว็บไซต์ลงในเบราว์เซอร์หรือส่งคำขอรับ URL จากโปรแกรม

2. พร็อกซีเซิร์ฟเวอร์ได้รับคำขอของผู้ใช้

3. พร็อกซีเซิร์ฟเวอร์ส่งต่อคำขอไปยังเว็บเซิร์ฟเวอร์

4. เว็บเซิร์ฟเวอร์ส่งคำตอบ (ข้อมูลเว็บไซต์) กลับไปยังพร็อกซีเซิร์ฟเวอร์

5. พร็อกซีเซิร์ฟเวอร์ส่งต่อการตอบกลับไปยังผู้ใช้

ทำไมต้องใช้พร็อกซีเซิร์ฟเวอร์?

พร็อกซีเซิร์ฟเวอร์มีการใช้งานที่แตกต่างกันมากมาย รวมถึงการอำนวยความสะดวกในการท่องอินเทอร์เน็ตโดยไม่ระบุชื่อ เลี่ยงการปิดกั้นทางภูมิศาสตร์ และควบคุมคำขอเว็บ

บางครั้ง เมื่อคุณเข้าถึงและพยายามขูดหน้าเว็บ เว็บไซต์จะรับรู้ว่าคุณเป็นเหมือนบอทที่ไม่คุ้นเคยซึ่งรวบรวมข้อมูลเว็บไซต์ของพวกเขา และพวกเขาจะบล็อกที่อยู่ IP ของคุณชั่วคราวหรือถาวร การดำเนินการนี้ป้องกันไม่ให้คุณได้รับข้อมูลที่คุณต้องการ

ด้านล่างนี้คือเหตุผลบางประการสำหรับการใช้พร็อกซีเซิร์ฟเวอร์

1. ที่อยู่ IP จริงของคุณจะถูกซ่อน เว็บไซต์ที่คุณเข้าถึงจะไม่สามารถทราบที่อยู่ IP จริงของคุณได้ เนื่องจากจะได้รับที่อยู่ IP ของพร็อกซีเซิร์ฟเวอร์ นอกจากนี้ ที่อยู่ IP จะถูกหมุนเวียนโดยจะมีการส่งที่อยู่ IP ที่แตกต่างกันสำหรับแต่ละคำขอที่ส่งไปยังเว็บไซต์

2. เปลี่ยนส่วนหัวของ user-agent ของคำขอเพื่อเลี่ยงผ่านสคริปต์การบล็อกแบบ user-agent ที่ใช้โดยเว็บไซต์ เว็บไซต์ส่วนใหญ่สามารถตรวจจับได้เมื่อมีคำขอมาจากคำขอ Python ตามข้อมูลที่มีอยู่ในตัวแทนผู้ใช้ คุณสามารถเปลี่ยนส่วนหัวของ user-agent ของคำขอและทำให้ดูเหมือนเบราว์เซอร์ซึ่งจะช่วยให้คุณผ่านสคริปต์การบล็อกแบบ user-agent

3. เข้าถึงเนื้อหาที่ถูกบล็อกทางภูมิศาสตร์หรือถูกจำกัด เว็บไซต์หลายแห่งจำกัดการเข้าถึงเว็บไซต์ของตนตามตำแหน่งทางภูมิศาสตร์ พร็อกซีเซิร์ฟเวอร์สามารถส่งที่อยู่ IP ไปยังเว็บไซต์ด้วยตำแหน่งที่เว็บไซต์ที่ถูกบล็อกทางภูมิศาสตร์จะยอมรับ

4. เวลาในการโหลดอาจลดลง เมื่อพร็อกซีเซิร์ฟเวอร์ได้รับการตอบกลับจากเว็บไซต์ พวกเขาเก็บเนื้อหาไว้ในหน่วยความจำแคช เมื่อมีการร้องขอหน้าที่แคชในภายหลัง เนื้อหาสามารถเรียกค้นและแสดงแก่ผู้ใช้ได้เร็วขึ้น นอกจากนี้ พร็อกซีเซิร์ฟเวอร์จะปรับสมดุลคำขอข้ามเซิร์ฟเวอร์หลายเครื่องเพื่อป้องกันการโอเวอร์โหลด

5. เว็บไซต์ที่เป็นอันตรายสามารถกรองออกได้ ผู้ดูแลระบบพร็อกซีเซิร์ฟเวอร์สามารถระบุเว็บไซต์ที่มีมัลแวร์หรือลิงก์ฟิชชิ่ง และสามารถป้องกันผู้ใช้พร็อกซี่ไม่ให้เข้าถึงเว็บไซต์เหล่านั้น

ประเภทของผู้รับมอบฉันทะ

มีพร็อกซีหลายประเภทที่ครอบคลุมการกำหนดค่าประเภทต่างๆ ฉันจะให้ภาพรวมโดยย่อของผู้รับมอบฉันทะทั่วไปบางส่วน

1. Transparent Proxies : สิ่งเหล่านี้จะส่งข้อมูลทั้งหมดของคุณไปยังเว็บเซิร์ฟเวอร์พร้อมกับที่อยู่ IP ของพร็อกซี พร็อกซี่เหล่านี้ไม่มีการปกป้องความเป็นส่วนตัวใดๆ

2. Anonymous Proxies : สิ่งเหล่านี้จะไม่ส่งผ่านที่อยู่ IP ของคุณไปยังเว็บเซิร์ฟเวอร์ แม้ว่าพวกเขาจะระบุตัวเองว่าเป็นพร็อกซีในคำขอ ซึ่งจะช่วยให้กิจกรรมการท่องเว็บของคุณเป็นส่วนตัว

3. Elite Proxies : พร็อกซีเหล่านี้ส่งเฉพาะส่วนหัว REMOTE_ADDR ขณะที่ส่วนหัวอื่นๆ ว่างเปล่า พร็อกซีเซิร์ฟเวอร์ชั้นยอดเหมาะอย่างยิ่งที่จะผ่านข้อจำกัดใดๆ บนอินเทอร์เน็ตและปกป้องความเป็นส่วนตัวของคุณอย่างเต็มที่ คุณจะดูเหมือนผู้ใช้อินเทอร์เน็ตทั่วไปที่อาศัยอยู่ในประเทศที่พร็อกซีเซิร์ฟเวอร์ของคุณใช้งานอยู่

4. Residential Proxies : พร็อกซี่เหล่านี้ใช้ที่อยู่ IP จริงของคอมพิวเตอร์ นี่คือประเภทพร็อกซี่ที่ดีที่สุดที่จะใช้เพราะดูเหมือนกับไคลเอนต์ทั่วไปกับเซิร์ฟเวอร์ นอกจากนี้ยังมีแนวโน้มที่จะตรวจไม่พบและหลีกเลี่ยงข้อจำกัดทางภูมิศาสตร์บางอย่าง

5. Data Center Proxies : พร็อกซี่เหล่านี้มีที่อยู่ IP ที่สร้างโดยคอมพิวเตอร์ซึ่งไม่ได้เชื่อมต่อกับอุปกรณ์จริง มันเหมือนกับการมีพรอกซีในคลาวด์ ข้อดีของพร็อกซีนี้คือความเร็วและประสิทธิภาพ

6. ผู้รับมอบฉันทะสาธารณะ : ผู้รับมอบฉันทะเหล่านี้เป็นผู้รับมอบฉันทะที่ไม่ปลอดภัยและไม่น่าเชื่อถือที่สุด พวกเขาสามารถลงไปได้ทุกเมื่อและหลายคนตั้งค่าโดยแฮกเกอร์เพื่อขโมยข้อมูล เหตุผลหลักที่ผู้คนใช้พวกเขาคือพวกเขาเป็นอิสระ

7. ผู้รับมอบฉันทะส่วนตัว : ผู้รับมอบฉันทะเหล่านี้กำหนดโดยผู้ให้บริการที่ให้บริการ ซึ่งอาจหมายความว่าพร็อกซีของคุณสามารถใช้โดยไคลเอ็นต์ครั้งละหนึ่งเครื่องเท่านั้น หรือพร็อกซีของคุณต้องมีการตรวจสอบสิทธิ์ก่อนจึงจะสามารถใช้งานได้

การใช้พร็อกซีในโมดูลคำขอ

ขั้นตอนต่อไปนี้จะดำเนินการใน Python เพื่อแสดงการใช้พร็อกซีในคำขอ

  • นำเข้าโมดูลคำขอ
  • ตั้งค่าที่อยู่ IP ของพร็อกซีและพอร์ต
  • เริ่มต้น URL
  • ส่งคำขอ GET ไปยัง URL และส่งผ่านพร็อกซี
  • ส่งคืนที่อยู่พร็อกซีเซิร์ฟเวอร์ของคำขอปัจจุบันหรือแสดงข้อผิดพลาดในการเชื่อมต่อหากไม่สำเร็จ
  • import requests
      
    # Enter a proxy IP address and port. 
    proxy = 'http://129.226.33.104:3218'
    # Initialize a URL.
    url = 'https://ipecho.net/plain'
      
    # Send a GET request to the url and pass the proxy as a parameter.
    page = requests.get(url,
                        proxies={"http": proxy, "https": proxy})
      
    # Prints the content of the requested url.
    print(page.text)
    

import requests
from itertools import cycle
import traceback
# Enter proxy ip's and ports in a list. 
proxies = {
    'http://129.226.33.104:3218', 
    'http://169.57.1.85:8123', 
    'http://85.25.91.141:15333', 
    'http://103.149.162.195:80', 
    'http://8.218.213.95:10809'
}
 
proxy_pool = cycle(proxies)
# Initialize a URL.
url = 'https://httpbin.org/ip'
# Iterate through the proxies and check if it is working.
for i in range(1,6):
 # Get a proxy from the pool
 proxy = next(proxy_pool)
 print("Request #%d"%i)
 try:
  response = requests.get(url,proxies={"http": proxy, "https": proxy}, timeout=30)
  print(response.json())
 except:
  # Most free proxies will often get connection errors. You will need to retry the request using another proxy.  
  print("Skipping. Connection error")

ฉันใช้พร็อกซีสาธารณะฟรีจากอินเทอร์เน็ตสำหรับคำขอเหล่านี้ ซึ่งส่งผลให้มีการเชื่อมต่อที่สำเร็จสองครั้งและข้อผิดพลาดในการเชื่อมต่อสามครั้ง ข้อผิดพลาดในการเชื่อมต่อเป็นเรื่องปกติมากเมื่อใช้พร็อกซี่ฟรี พร็อกซี่ฟรีบนอินเทอร์เน็ตมักถูกใช้ในทางที่ผิดและจบลงที่บัญชีดำซึ่งใช้โดยเครื่องมือป้องกันการขูดและเว็บเซิร์ฟเวอร์เพื่อบล็อกที่อยู่ IP หากคุณกำลังทำการดึงข้อมูลขนาดใหญ่ คุณอาจต้องการพิจารณาจ่ายสำหรับพร็อกซี่ที่ดี หรือใช้ผู้ให้บริการพร็อกซี่ที่จะจัดหาที่อยู่ IP ที่มีคุณภาพและแม้แต่หมุนเวียน IP ให้กับคุณ หรือคุณสามารถใช้บริการ VPN (เครือข่ายส่วนตัวเสมือน) ซึ่งทำหน้าที่เหมือนบริการพร็อกซี่ และยังเข้ารหัสข้อมูลออนไลน์ขาเข้าและขาออกทั้งหมดเพื่อให้บุคคลที่สามไม่สามารถเข้าถึงได้

ขอบคุณมากสำหรับการอ่านบทความของฉัน! หากคุณมีความคิดเห็นหรือข้อเสนอแนะโปรดเพิ่มไว้ด้านล่าง

หากคุณชอบอ่านเรื่องราวแบบนี้และต้องการสนับสนุนฉันในฐานะนักเขียน ลองสมัครเป็นสมาชิก Medium การเป็นสมาชิกช่วยให้คุณเข้าถึงบทความทั้งหมดบนสื่อได้ไม่จำกัด สามารถสมัครได้ตามลิงค์นี้https://medium.com/@dniggl/membership.

เนื้อหาเพิ่มเติมที่PlainEnglish.io สมัครรับจดหมายข่าวรายสัปดาห์ฟรีของ เรา ติดตามเราบนTwitterและLinkedIn ตรวจสอบความไม่ลงรอยกันของชุมชน ของเรา และเข้าร่วมTalent Collectiveของ เรา

Suggested posts

ชีวิตไร้ขีดจำกัด

เมื่อคุณโตขึ้น คุณมักจะได้รับการบอกว่าโลกเป็นอย่างที่มันเป็น และชีวิตของคุณก็แค่ใช้ชีวิตอยู่ในโลก ไม่เสี่ยงชีวิต แค่เดินตามเส้นทางที่กำหนดและตายในที่สุด และพยายามอย่า ทุบกำแพงมากเกินไป แต่นั่นเป็นชีวิตที่จำกัดมาก

เครือข่ายทีวีทวิตเตอร์

เครือข่ายทีวีทวิตเตอร์

ของเก่ากลายเป็นของใหม่อีกครั้ง และของที่เคยเป็นประกายระยิบระยับกลับดูจืดชืด ฉันไม่ได้กำลังพูดถึงกางเกงยีนส์ JNCO ที่กลับมาเป็นที่นิยมในหมู่เด็กเท่ๆ ในตัวเมืองพร้อมกับแฟชั่นอื่นๆ ในช่วงปลายทศวรรษ 1990

Related posts

3 วิธีที่พิสูจน์แล้วในการพัฒนาทักษะการเขียนของคุณ

ประโยชน์ของการเขียนและกลยุทธ์ที่จะช่วยให้คุณทำได้

3 วิธีที่พิสูจน์แล้วในการพัฒนาทักษะการเขียนของคุณ

ในปี 2022 ด้วยการเปิดตัว GPT-3 ทักษะการเขียนดูเหมือนจะมีความสำคัญน้อยลง ด้วย AI คนที่เขียนไม่ดีก็สามารถสร้างพนักงานที่มีคุณภาพได้เช่นกัน

บทสนทนาอันตราย

บทสนทนาอันตราย

หากเราต้องการจะเติบโตบนโลกใบนี้ต่อไป เราจะต้องสนทนาที่อันตราย คนที่ท้าทายสิ่งที่เราทำ สิ่งที่เรากำลังทำ และสิ่งที่เรากำลังจะทำต่อไป (หรือกำลังวางแผนที่จะทำ)

วิธีช่วยโลกและสร้างรายได้

วิธีช่วยโลกและสร้างรายได้

กี่ครั้งแล้วที่คุณทิ้งขวดพลาสติก เหยือกแก้ว กระป๋องอะลูมิเนียม หรือบรรจุภัณฑ์พลังงานสีเขียวโดยไม่คิดซ้ำสอง กี่ครั้งแล้วที่คุณอยากได้อะไรตอบแทนจากการรีไซเคิลมัน? ถ้าคุณเป็นเหมือนคนส่วนใหญ่ คำตอบคือหลายครั้ง การรีไซเคิลมักถูกมองว่าเป็นเรื่องยุ่งยาก เป็นงานบ้าน หรือเป็นหน้าที่ที่ไม่ก่อให้เกิดประโยชน์ในทันทีหรือจับต้องได้

การสร้างสภาพแวดล้อมการทำงานที่ปลอดภัย

การสร้างสภาพแวดล้อมการทำงานที่ปลอดภัย

“เขาจะปกป้องฉันเมื่อฉันตกอยู่ในอันตราย เขาจะซ่อนฉันไว้ในเต็นท์ของเขา