Saya mencoba mengikis situs web berikut menggunakan Python 3, Selenium, dan PhantomJS:
https://health.usnews.com/best-hospitals/search
Saya perlu mencari bidang pencarian dan memasukkan teks ke dalamnya, lalu tekan enter untuk menghasilkan hasil pencarian. Di bawah ini adalah HTML yang sesuai dengan bidang pencarian yang saya coba cari:
<div class="search-field-view">
<div class="block-tight">
<label class="" for="search-facet-city">
<input id="search-facet-city" autocomplete="off" name="city"
type="text" data-field-type="text" placeholder="City, State or ZIP"
value="" />
</label>
</div>
</div>
Di bawah ini adalah kode Python 3 saya yang mencoba menemukan bidang pencarian ini menggunakan id "search-facet-city."
def scrape(self):
url = 'https://health.usnews.com/best-hospitals/search'
location = 'Massachusetts'
# Instantiate the driver
driver = webdriver.PhantomJS()
driver.get(url)
driver.maximize_window()
driver.implicitly_wait(10)
elem = driver.find_element_by_id("search-facet-city")
elem.send_keys(self.location)
driver.close()
Saya perlu mengambil beberapa hasil dari halaman setelah teks dimasukkan ke dalam kolom pencarian. Namun, saya terus mendapatkan kesalahan NoSuchElementException; ia tidak dapat menemukan elemen kotak pencarian meskipun faktanya elemen itu ada. Bagaimana cara memperbaikinya?
403 Forbidden
. Apakah kamu yakin bisa membacanya? - person John Gordon   schedule 27.10.2017wget
di baris perintah. Situs web tersebut mungkin tidak mengizinkan klien tipe robot. Saya mencoba url di chrome dan halaman dimuat, namun Mac saya benar-benar terhenti ketika saya mencoba melihat sumbernya, jadi saya rasa saya tidak akan mengunjungi halaman itu lagi. - person John Gordon   schedule 27.10.2017