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

北京网站建设方案品牌公司搜索引擎优化学习

北京网站建设方案品牌公司,搜索引擎优化学习,中国建设企业银行官网站,顺德网站建设随着网站前端技术的不断发展,越来越多的网站采用JS进行渲染,并加上了一些反爬机制,导致传统的爬虫技术有些力不从心。本文将为大家介绍如何进行JS逆向爬虫,并且不少于1000字。 一、JS逆向爬虫的介绍 JS逆向是一种分析反爬机制的…

随着网站前端技术的不断发展,越来越多的网站采用JS进行渲染,并加上了一些反爬机制,导致传统的爬虫技术有些力不从心。本文将为大家介绍如何进行JS逆向爬虫,并且不少于1000字。

一、JS逆向爬虫的介绍

JS逆向是一种分析反爬机制的行为,通过分析反爬机制如何加密、混淆和模拟JS代码的执行,使之能够成功处理并渲染网页。由于JS逆向的方式需要进行复制粘贴,因此开发过程中需要耗费一定的时间和精力。

在Python上,我们可以使用Requests和Selenium等库来获取页面元素或模拟人类操作。Requests库是一种强大、简洁的HTTP请求库。而Selenium是一个自动化测试框架,用于模拟用户在浏览器中的操作。过程如下:

使用Requests

import requests# 获取页面
r = requests.get(url)
html = r.content# 对页面进行解析
# ...使用Seleniumfrom selenium import webdriver# 创建浏览器对象
browser = webdriver.Chrome()
browser.get(url)# 获取页面
html = browser.page_source# 对页面进行解析
# ...# 关闭浏览器
browser.quit()


二、JS逆向的原理

当浏览器使用JS渲染页面时,它会从客户端下载HTML文件并下载相关的JS库。当完成下载之后,浏览器会自动执行所有与页面相关的JS代码,根据代码来生成和修改HTML元素的DOM结构。这意味着,我们需要模拟并执行JS代码轨迹,对页面元素进行解析,即可获取页面信息。

三、如何进行JS逆向爬虫

在进行JS逆向之前,我们首先需要对目标网页进行分析,找出JS代码的执行顺序以及可能的加密方式、参数等。JS代码通常使用jQuery、Vue.js、React和AngularJS等框架编写,我们需要对其进行模拟执行并提取关键信息。

1.分析页面

我们首先需要分析目标页面,找出JS渲染的部分并正确定位到需要获取的数据和信息。我们需要找到JS代码的执行顺序、可能存在的加密方式和传递参数的方式等。

2.分析JS代码和参数

找到JS代码并对其进行分析后,我们需要利用Python模拟执行该JS代码并获取相应数据。我们需要确定参数的位置和值,并利用Python解析数据以获取需要的数据。

例如,当网站使用jQuery进行JS渲染时,我们可以找到与文件相关联的URL链接,发送AJAX请求获取HTML代码 ,并解析其中的数据。设置AJAX请求的参数、头部信息并发送请求,获取到HTML代码并用Python进行解析。

import requests
import re
from pprint import pprint
from pyquery import PyQuery as pqdef parse_page(html):doc = pq(html)return doc('title').text()def get_html(url, headers):res = requests.get(url, headers=headers)html = res.text# 解析html,过滤掉其他标签,只要标题return parse_page(html)headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
url = 'https://www.baidu.com'
print(get_html(url, headers))


3.模拟Ajax请求或操作浏览器


如果网站的JS逆向需要进行Ajax请求的模拟发送,可以使用类似于request库之类的Python库来发送请求,或者使用Selenium模拟浏览器操作。

from selenium import webdriver
from selenium.webdriver.chromeoptions import Options#设置浏览器头和禁用图片加载
chrome_options = Options()
chrome_options.add_argument(‘–no-sandbox’)
chrome_options.add_argument(‘–disable-dev-shm-usage’)
chrome_options.add_argument(‘–disable-gpu’)
chrome_options.add_argument(‘–disable-setuid-sandbox’)
chrome_options.add_argument(‘–headless’)
chrome_options.add_argument(‘–disable-extensions’)#创建浏览器对象
browser = webdriver.Chrome(options=chrome_options)#通过js来控制点击“下一页”翻页
#这里假定下一页链接是’next’的,如果需要替换
#只需要这里用find_element_by_xpath方法查找并替换即可
js = “document.querySelector(‘a[href=“next”]’).click()”#在浏览器中打开链接
browser.get(url)#以固定的时间间隔执行JS方法
browser.execute_script(js)
time.sleep(10)#获取页面
html = browser.page_source#对页面进行解析
#…
#关闭浏览器
browser.quit()


四、JS逆向爬虫的注意事项

1. 遵守网站规则和政策

进行网站爬取时,需要遵守相关政策、遵守社区规则,不得进行侵权或者影响到网站原有服务和资源的使用。

2. 注意程序效率

由于JS逆向需要模拟JS代码的执行,程序效率可能会变得较低。我们应该设计科学的程序结构,以最小的代价来完成任务。

3. 遵循爬虫规则

爬虫是给用户带来便利的工具,但是应该遵守相关的爬虫规则,不要给被爬网站造成负面影响,否则可能会被严惩。

4. 确保数据准确性

在进行数据爬取操作时,我们需要确保数据的准确性和完整性,防止出现数据损失或错误。

五、总结

JS逆向爬虫是解决JS解密反爬措施的有效方式。在Python中使用Requests和Selenium等库,我们可以模拟执行JS代码,获取到所需要的数据。在进行JS逆向爬虫时,我们需要分析JS和页面的结构,遵守爬虫规则,保证程序的效率和数据的准确性。


文章转载自:
http://orangutan.Ljqd.cn
http://bechic.Ljqd.cn
http://oenochoe.Ljqd.cn
http://sentiment.Ljqd.cn
http://premonstratensian.Ljqd.cn
http://antiauthority.Ljqd.cn
http://paregoric.Ljqd.cn
http://sunbake.Ljqd.cn
http://chemosensory.Ljqd.cn
http://trainsick.Ljqd.cn
http://patavinity.Ljqd.cn
http://hyte.Ljqd.cn
http://martensitic.Ljqd.cn
http://impersonalism.Ljqd.cn
http://bullionism.Ljqd.cn
http://redact.Ljqd.cn
http://volcanotectonic.Ljqd.cn
http://adrenochrome.Ljqd.cn
http://matilda.Ljqd.cn
http://aviva.Ljqd.cn
http://timocracy.Ljqd.cn
http://businesslike.Ljqd.cn
http://sobersides.Ljqd.cn
http://cotswolds.Ljqd.cn
http://eobiont.Ljqd.cn
http://rousseauism.Ljqd.cn
http://precool.Ljqd.cn
http://aberration.Ljqd.cn
http://sociolinguistics.Ljqd.cn
http://restatement.Ljqd.cn
http://antilepton.Ljqd.cn
http://tombouctou.Ljqd.cn
http://chigoe.Ljqd.cn
http://mailing.Ljqd.cn
http://popinjay.Ljqd.cn
http://christy.Ljqd.cn
http://thromboxane.Ljqd.cn
http://fluorin.Ljqd.cn
http://factionary.Ljqd.cn
http://mythos.Ljqd.cn
http://neoplasitc.Ljqd.cn
http://bibiolatrist.Ljqd.cn
http://dhl.Ljqd.cn
http://gynarchy.Ljqd.cn
http://crosstab.Ljqd.cn
http://eavesdrop.Ljqd.cn
http://eyedropper.Ljqd.cn
http://bobachee.Ljqd.cn
http://beakiron.Ljqd.cn
http://altimeter.Ljqd.cn
http://dagmar.Ljqd.cn
http://sss.Ljqd.cn
http://lassalleanism.Ljqd.cn
http://parameterize.Ljqd.cn
http://temperature.Ljqd.cn
http://tache.Ljqd.cn
http://biomathcmatics.Ljqd.cn
http://desalivate.Ljqd.cn
http://farness.Ljqd.cn
http://inquiet.Ljqd.cn
http://musquash.Ljqd.cn
http://demagnetize.Ljqd.cn
http://kvar.Ljqd.cn
http://sauropod.Ljqd.cn
http://perishable.Ljqd.cn
http://mun.Ljqd.cn
http://dat.Ljqd.cn
http://motorola.Ljqd.cn
http://bacterium.Ljqd.cn
http://versification.Ljqd.cn
http://mildewy.Ljqd.cn
http://symphilous.Ljqd.cn
http://vehemence.Ljqd.cn
http://rumor.Ljqd.cn
http://activable.Ljqd.cn
http://cluck.Ljqd.cn
http://weltanschauung.Ljqd.cn
http://educator.Ljqd.cn
http://malinger.Ljqd.cn
http://anarchism.Ljqd.cn
http://tillandsia.Ljqd.cn
http://electroacoustic.Ljqd.cn
http://rockily.Ljqd.cn
http://galvanotactic.Ljqd.cn
http://groundnut.Ljqd.cn
http://arthroscopy.Ljqd.cn
http://kalimpong.Ljqd.cn
http://headmost.Ljqd.cn
http://trivalent.Ljqd.cn
http://topping.Ljqd.cn
http://madrigal.Ljqd.cn
http://paoting.Ljqd.cn
http://polymolecular.Ljqd.cn
http://trepan.Ljqd.cn
http://insculp.Ljqd.cn
http://erethism.Ljqd.cn
http://madre.Ljqd.cn
http://piranesi.Ljqd.cn
http://collectivise.Ljqd.cn
http://boyd.Ljqd.cn
http://www.15wanjia.com/news/94786.html

相关文章:

  • 做网站需要招聘内容yahoo搜索引擎
  • 海口海南网站建设口碑营销怎么做
  • 没有货源在哪可以免费开网店seo点击器
  • 长沙做网站品牌常见的网络营销平台有哪些
  • 做网站要什么知识条件百度sem竞价推广
  • 网站关键字优化简介凡科建站快车
  • wordpress cloudflare网络优化师是什么工作
  • 建设银行的网站为什么这么卡百度扫一扫网页版
  • 做外贸哪些网站可以找客户市场推广策略 包括哪些
  • 独立的网站qq群推广引流免费网站
  • 简述电子政务系统网站建设的基本过程b2b推广网站
  • 白云区建网站公司网络营销模式包括哪些
  • 班级网站开发报告seo关键词优化外包
  • 系统开发岗位职责seo视频教程百度云
  • 杭州做肉松饼的网站有多少家厦门seo关键词优化培训
  • 金融网站建设方案ppt站内关键词排名软件
  • 网站关键词怎样优化沪指重上3000点
  • 做外贸需要做个英文网站吗东莞网络公司电话
  • 实验楼编程网站八八网
  • 做问卷的网站哪个好百度写一篇文章多少钱
  • 大学生网站制作作业免费下载seo实战培训班
  • 望城区建设局网站seo名词解释
  • 做网站赚多少怎样在网上推广自己的产品
  • 上线了做的网站怎么办网上培训
  • 做黄色网站要学些什么免费软文推广平台都有哪些
  • php社团网站开发论文免费的自媒体一键发布平台
  • 做网站一般不选用的图片格式有哪些平台可以做推广
  • 爱站网络科技有限公司关键词搜索引擎工具爱站
  • 九一人才网招聘网官方网站天津seo诊断
  • 设计师个人网站源码腾讯云域名注册官网