คำถามติดแท็ก web-scraping

การขูดเว็บเป็นกระบวนการดึงข้อมูลเฉพาะจากเว็บไซต์ที่ไม่ได้ให้ API หรือวิธีการอื่น ๆ ในการดึงข้อมูลอัตโนมัติ คำถามเกี่ยวกับ "วิธีเริ่มต้นด้วยการขูด" (เช่นด้วย Excel VBA) ควร * ค้นคว้าอย่างละเอียด * เนื่องจากมีตัวอย่างโค้ดการทำงานจำนวนมาก วิธีการขูดเว็บรวมถึงแอปพลิเคชันของบุคคลที่สามการพัฒนาซอฟต์แวร์แบบกำหนดเองหรือแม้แต่การรวบรวมข้อมูลด้วยตนเองด้วยวิธีที่เป็นมาตรฐาน

3
คลิกรายการในรายการเติมข้อความอัตโนมัติด้วย VBA และ HTML
ฉันได้สร้างระบบอัตโนมัติที่จะให้ฉันป้อนรายละเอียดบนเว็บไซต์ (แม้ว่าฉันจะไม่สามารถแบ่งปันได้เนื่องจากเป็นภายใน) รหัสของฉันด้านล่างใช้งานได้จนกว่าจะมีการป้อนข้อความใน "ได้รับจาก" อย่างไรก็ตามฟิลด์ "ได้รับจาก" นี้มีรายการเติมข้อความอัตโนมัติและฉันต้องเลือกเพื่อเติมฟิลด์อื่นเช่น TIN และที่อยู่ รายการเติมข้อความอัตโนมัติค่อนข้างคล้ายกับรายการใน https://jqueryui.com/autocomplete/ หรือhttp://demos.codexworld.com/autocomplete-textbox-using-jquery-php-mysql/ ด้านล่างเป็นรหัสของฉัน: Sub Automate_IE_Enter_Data() 'This will load a webpage in IE Dim i As Long Dim Url As String Dim IE As InternetExplorer Dim objElement As Object Dim objCollection As Object Dim HWNDSrc As Long Dim wsTemplate As Worksheet …

1
ไม่สามารถให้สคริปต์ของฉันสร้างค่าบางอย่างโดยอัตโนมัติเพื่อใช้ภายในเพย์โหลด
ฉันสร้างสคริปต์เพื่อรับองค์ประกอบ html จากหน้าเป้าหมายโดยส่งคำขอ https สองคำขอในภายหลัง สคริปต์ของฉันสามารถทำสิ่งที่ไร้ที่ติ อย่างไรก็ตามฉันต้องคัดลอกสี่ค่าจากเครื่องมือ dev ของ Chrome เพื่อกรอกข้อมูลสี่ปุ่มภายในpayloadเพื่อส่งคำขอ http สุดท้ายเพื่อไปยังหน้าเป้าหมาย นี่คือลิงค์เริ่มต้นและต่อไปนี้เป็นคำอธิบายว่าฉันจะไปถึงหน้าเป้าหมายได้อย่างไร คลิกที่Find Hotelปุ่ม (ไม่จำเป็นต้องเปลี่ยนวันที่หากchek-outวันที่เป็นวันเริ่มต้นโดยยาวกว่าcheck-inวันที่อย่างน้อยหนึ่งวัน) ทำเครื่องหมายที่ช่องเหมือนภาพด้านล่างแล้วกดBook Nowปุ่มด้านบน ตอนนี้มันจะพาคุณไปยังหน้าเป้าหมายโดยอัตโนมัติ เมื่อไปถึงหน้าเป้าหมายที่มีชื่อว่า as Enter Guest Detailsให้แยกองค์ประกอบ html ออก ฉันเคยลอง (ทำงานหนึ่งชิ้น): import requests from bs4 import BeautifulSoup url = 'https://booking.discoverqatar.qa/SearchHandler.aspx?' second_url = 'https://booking.discoverqatar.qa/PassengerDetails.aspx?' params = { 'Module':'H','txtCity':'','hdnCity':'2947','txtHotel':'','hdnHotel':'', 'fromDate':'05/11/2019','toDate':'07/11/2019','selZone':'','minSelPrice':'', 'maxSelPrice':'','roomConfiguration':'2|0|','noOfRooms':'1', 'hotelStandardArray':'63,60,54,50,52,51','CallFrom':'','DllNationality':'-1', 'HdnNoOfRooms':'-1','SourceXid':'MTEzNzg=','mdx':'' } …

2
ไม่สามารถแยกชื่อผู้ใช้เพื่อให้แน่ใจว่าฉันเข้าสู่เว็บไซต์แล้ว
ฉันเขียนสคริปต์ในไพ ธ อนเพื่อเข้าสู่เว็บไซต์และแยกชื่อผู้ใช้เพื่อให้แน่ใจว่าฉันสามารถเข้าสู่ระบบได้จริงๆการใช้วิธีที่ฉันได้ลองด้านล่างดูเหมือนจะพาฉันไปที่นั่น อย่างไรก็ตามฉันได้ใช้คุกกี้ hardcoded ที่นำมาจากเครื่องมือ dev Chrome ในสคริปต์เพื่อความสำเร็จ ฉันได้ลองกับ: import requests from bs4 import BeautifulSoup url = 'https://secure.imdb.com/ap/signin?openid.pape.max_auth_age=0&openid.return_to=https%3A%2F%2Fwww.imdb.com%2Fap-signin-handler&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.assoc_handle=imdb_pro_us&openid.mode=checkid_setup&siteState=eyJvcGVuaWQuYXNzb2NfaGFuZGxlIjoiaW1kYl9wcm9fdXMiLCJyZWRpcmVjdFRvIjoiaHR0cHM6Ly9wcm8uaW1kYi5jb20vIn0&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0' signin = 'https://secure.imdb.com/ap/signin' mainurl = 'https://pro.imdb.com/' with requests.Session() as s: res = s.get(url,headers={"User-agent":"Mozilla/5.0"}) soup = BeautifulSoup(res.text,"lxml") payload = {i['name']: i.get('value', '') for i in soup.select('input[name]')} payload['email'] = 'some username' payload['password'] = …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.