当前位置: 首页 > news >正文

APP网站建设什么用处太原seo网站排名

APP网站建设什么用处,太原seo网站排名,网站上线之前做测试吗,做网站的销售怎么样获取response数据有几种方式,最常见的是用代理,另外还有javascript 注入hook的方式 这里介绍的是log的方式 https://blog.csdn.net/weixin_34722157/article/details/112436963 一般我们用webdriver时候都是通过xpath,css之类的选择器取页面…

 获取response数据有几种方式,最常见的是用代理,另外还有javascript 注入hook的方式

这里介绍的是log的方式

 https://blog.csdn.net/weixin_34722157/article/details/112436963

一般我们用webdriver时候都是通过xpath,css之类的选择器取页面的数据,今天我教你另一种方案,直接获得response!

import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities        options = webdriver.ChromeOptions()# options.add_argument('--headless')   #无头模式# options.add_argument('--no-sandbox') #非沙盒# options.add_argument('--disable-gpu') #禁用gpu,一般生产环境会使用,因为服务器大多没有gpuprefs = {"profile.managed_default_content_settings.images": 2} #不加载图片options.add_experimental_option("prefs", prefs)#重点来了options.add_experimental_option('perfLoggingPrefs', {'enableNetwork': True})options.add_argument('--disable-dev-shm-usage')options.add_experimental_option("excludeSwitches", ["enable-automation"])options.add_experimental_option('useAutomationExtension', False)caps = DesiredCapabilities.CHROME#重点又来了caps['goog:loggingPrefs'] = {'performance': 'ALL'}   driver = webdriver.Chrome(options=options, desired_capabilities=caps)#driver.implicitly_wait(5)# driver = webdriver.Chrome(desired_capabilities=caps)#屏蔽webdrive检测driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": """Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"""})

重点就是 这几个设置,我上面的建议都加上:

options.add_experimental_option('perfLoggingPrefs', {'enableNetwork': True})

caps['goog:loggingPrefs'] = {'performance': 'ALL'}

看名字也能知道是和log有关的;log里面记录了每一个http请求的id,通过id,就可以直接获得response了
 

def get_body(self, log, driver):#获得log里面的requestid,通过id来获得response的内容requestId = json.loads(log.get("message")).get("message").get("params").get("requestId")# driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': requestId})response_dict = driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': requestId})#注意,这里获得的body是字符串形式,需要序列化为json对象/body = response_dict["body"]        Jres = json.loads(body)return Jres
driver.get(url="目标url")
#chrome的日志将开启并记录所有的访问。
try:logs = driver.get_log("performance")for log in logs[:]:try:url = json.loads(log.get("message")).get("message").get("params").get("request").get("url")except:url = Noneif url:# 111   左上角个人档案信息 ->,这里是我要获取的内容的url正则,你根据你自己要获取的接口编写。# 正则表达是匹配 需要抓取的那一个请求 regex_person_document = re.compile('https://star.toutiao.com/v/api/user/author_page/?author_id=(d+)&recommend=false&platform_source=1')if regex_person_document.findall(url):# 获得了 json形式的响应体,就能按需要获得里面的数据了Jres = self.get_body(log, driver)
except:pass

http://www.lbrq.cn/news/2675971.html

相关文章:

  • 厦门建设网站企业网络销售挣钱吗
  • 万江网站建设深圳网站seo外包公司哪家好
  • 两学一做网站注册竞价托管代运营公司
  • 做网站 做app网址导航浏览器下载
  • wordpress调用第一张图片不显示搜索引擎优化策略应该包括
  • wordpress语言选项河南优化网站
  • 辽阳市网站建设今天新闻联播
  • 网站如何做关健词收录it菜鸡网seo
  • 优惠活动制作网站手游代理加盟哪个平台最强大
  • centos7怎么做网站服务器优化seo教程
  • 定制型网站建设服务网站制作400哪家好
  • 巩义做网站优化免费软文网站
  • 旅游网网站建设设计网站的公司
  • 景安网站备案要多久兰州网络推广关键词优化
  • 网站轮播效果怎么做百度首页排名优化平台
  • 安溪学校网站建设百合seo培训
  • 在线做头像的网站今日腾讯新闻最新消息
  • 网站怎么做更新seo 最新
  • 福建建设注册中心网站软文代写自助发稿平台
  • 长沙营销型网站建设制作大学生网络营销策划书
  • 西宁做手机网站的公司唐山百度seo公司
  • 做dw网站图片怎么下载九易建网站的建站流程
  • 企业官网设计现状seo在线培训课程
  • 贵阳网站排名优化免费广告投放网站
  • 南京便宜网站建设中文域名交易网站
  • 网络优化网站建设学习随州网络推广
  • 三年片在线观看免费大全爱奇艺长沙seo外包服务
  • 房地产市场信息系统网站长沙疫情最新情况
  • 深圳网络推广外包公司好的seo平台
  • 江西建站哪家专业傻瓜式自助建站系统
  • golang 基础案例_01
  • 重学React(五):脱围机制一
  • .NET Core MVC中CSHTML
  • 18.WEB 服务器
  • Oracle lgwr触发条件
  • Python 实例属性和类属性