我已经为840个网址抓了一个网站...... 当我重新发布网址以获取更多信息时,我的python scraper并没有像手动点击链接那样提供相同的数据。
例如,当我访问此网站时,https://salesweb.civilview.com/Sales/SalesSearch
如果我点击第一个'详细信息'在列表中,它将获取包含更多信息的页面。
给出的信息是显示' / Sales / SaleDetails的相对链接?PropertyId = 254119896'
我已经删除了'详细信息'相对链接然后重建链接以匹配绝对地址。 这个地址变成
https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=254119896
然而,当我这样做并试图刮擦时,我得到了一组完全不同的数据,它将我带到一般的登陆页面。
https://salesweb.civilview.com/
我开始想,我需要使用无头浏览器来解决问题,但现在我不确定。这是我的代码:
import time
from selenium import webdriver
baseurl='https://salesweb.civilview.com'
link='/Sales/SaleDetails?PropertyId=254119946'
url1=baseurl+link
driver = webdriver.PhantomJS()
driver.get(url1)
html = driver.page_source
time.sleep(10)
driver.quit()
答案 0 :(得分:0)
我找到了一种解决方法,如果您第一次与网站互动,则可以访问其他网址。不幸的是,我不知道它为什么会起作用:
driver = webdriver.PhantomJS()
driver.get("https://salesweb.civilview.com/")
driver.find_element_by_link_text('Atlantic County, NJ').click()
driver.get("https://salesweb.civilview.com/Sales/SaleDetails?PropertyId=254119946")
html = driver.page_source
print(html)