初学者一个,爬取某网站urlhtml=requests.get(url=url).text#,headers=headers,timeout=10
一直卡主不返回,加上headers timeout无效,代码改为
def ff_webdriver_html(url):
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(url) #请求和获取页面
page_source = driver.page_source #获得页面的源代码
print(page_source)
return page_source
driver.close()
driver.quit()
return page_source
print(ff_webdriver_html(url))
原来并不是卡死,而是在加载完成后还在无限加载
data: {"rc":0,"rt":2,"svr":177617933,"lt":1,"full":1,"dlmkts":"","data":null}
data: {"rc":0,"rt":2,"svr":177617933,"lt":1,"full":1,"dlmkts":"","data":null}
data: {"rc":0,"rt":2,"svr":177617933,"lt":1,"full":1,"dlmkts":"","data":null}
data: {"rc":0,"rt":2,"svr":177617933,"lt":1,"full":1,"dlmkts":"","data":null}
data: {"rc":0,"rt":2,"svr":177617933,"lt":1,"full":1,"dlmkts":"","data":null}
data: {"rc":0,"rt":2,"svr":177617933,"lt":1,"full":1,"dlmkts":"","data":null}
data: {"rc":0,"rt":2,"svr":177617933,"lt":1,"full":1,"dlmkts":"","data":null}
如何在初次加载完成后立即返回不再重复加载,手动点击stop按钮即可返回,如何在初次加载完成后立即返回不再重复加载,手动点击stop按钮即可返回,如何在driver.get(url) #请求和获取页面
之后模拟点击stop按钮,或者其它更好的处理,如果用requests.get(url=url)或DrissionPage可以解决就更好了
在`driver.get(url)之前加
driver.set_page_load_timeout(5)
解决,谢谢
针对你遇到的问题,这里有几个可能的解决方案和考虑因素:
由于requests.get
方法无法处理JavaScript动态加载的内容,而你的页面似乎在加载完成后还有JavaScript脚本在不断地刷新或加载数据,因此使用Selenium是一个更合适的选择。然而,你的代码中driver.close()
和driver.quit()
的调用位置不正确,导致这些调用在return
之后执行,这是无效的。
修正后的代码:
from selenium import webdriver
def ff_webdriver_html(url):
driver = webdriver.Chrome()
try:
driver.get(url) # 请求和获取页面
# 等待页面初步加载完成,可以使用显式等待(Explicit Wait)来等待某个元素的出现
# 这里只是示例,具体等待条件需根据实际页面元素调整
# from selenium.webdriver.common.by import By
# from selenium.webdriver.support.ui import WebDriverWait
# from selenium.webdriver.support import expected_conditions as EC
# WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "someElementId")))
page_source = driver.page_source # 获得页面的源代码
print(page_source)
return page_source
finally:
driver.quit() # 确保在函数结束时关闭浏览器
# 使用函数
url = "你的目标URL"
print(ff_webdriver_html(url))
如果页面在加载完成后还在不断地通过JavaScript请求数据,你可以尝试以下几种方法来阻止这种行为:
selenium-wire
或browsermob-proxy
等工具)来拦截和修改网络请求。例如,如果你知道可以通过执行特定的JavaScript代码来停止加载,可以这样做:
driver.execute_script("你的JavaScript代码,用于停止加载")
希望这些建议能帮助你解决问题!
本文向大家介绍Python无头爬虫下载文件的实现,包括了Python无头爬虫下载文件的实现的使用技巧和注意事项,需要的朋友参考一下 有些页面并不能直接用requests获取到内容,会动态执行一些js代码生成内容。这个文章主要是对付那些特殊页面的,比如必须要进行js调用才能下载的情况。 安装chrome 安装chromedriver 淘宝源(推荐) 感谢这篇博客 上述步骤可以选择适合自己的版本下
本文向大家介绍PHP一个简单的无需刷新爬虫,包括了PHP一个简单的无需刷新爬虫的使用技巧和注意事项,需要的朋友参考一下 由于只是一个小示例,所以过程化简单写了,小菜随便参考,大神大可点解 接下的入表库当然就不写了,那些更小意思了~就此别过吧~ 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相
问题内容: 这是一个非常基本的问题-但我无法通过在线搜索找到答案。 我正在使用python控制ArcGIS,并且有一个简单的python脚本,该脚本调用了一些预先编写的代码。 但是,当我对预写代码进行更改时,它似乎没有导致任何更改。我导入了此模块,并尝试刷新它,但是没有任何反应。 我什至将它调用的文件移到了另一个位置,脚本仍然可以正常工作。昨天我做的一件事是我将所有python文件都添加到sys路
本文向大家介绍python实现爬虫下载美女图片,包括了python实现爬虫下载美女图片的使用技巧和注意事项,需要的朋友参考一下 本次爬取的贴吧是百度的美女吧,给广大男同胞们一些激励 在爬取之前需要在浏览器先登录百度贴吧的帐号,各位也可以在代码中使用post提交或者加入cookie 爬行地址:http://tieba.baidu.com/f?kw=%E7%BE%8E%E5%A5%B3&ie=utf-
本文向大家介绍python爬虫刷访问量 2019 7月,包括了python爬虫刷访问量 2019 7月的使用技巧和注意事项,需要的朋友参考一下 看着自己少得可怜的访问量,突然有一个想用爬虫刷访问量的想法,主要也是抱着尝试的心态,学习学习。 其实市面上有一些软件可以代刷流量 比如 流量精灵,使用感确实比我们自己写的代码要好一些 第一版:网上借鉴了一下 以下代码运行在 python
问题内容: 我正在尝试实现一些功能,即单击屏幕上的按钮将导致我的[QuerydataTable刷新(因为自创建dataTable以来服务器端数据源可能已更改)。 这是我所拥有的: 但是当我运行它时,它什么也没做。单击按钮时刷新dataTable的正确方法是什么?提前致谢! 问题答案: 您可以尝试以下方法: