Python如何爬取网页中js添加的内容(代码)

答案 本篇文章给大家带来的内容是关于Python如何爬取网页中js添加的内容 (代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。当我们进行网页爬虫时,我们会利用一定的规则从返回的 HTML 数据中提取出有效的信息。但是如果网页中含有 JavaScript 代码,我们必须经过

Python如何爬取网页中js添加的内容(代码)

本篇文章给大家带来的内容是关于Python如何爬取网页中js添加的内容 (代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

当我们进行网页爬虫时,我们会利用一定的规则从返回的 HTML 数据中提取出有效的信息。但是如果网页中含有 JavaScript 代码,我们必须经过渲染处理才能获得原始数据。此时,如果我们仍采用常规方法从中抓取数据,那么我们将一无所获。那么,通过Web kit可以简单解决这个问题。Web kit 可以实现浏览器所能处理的任何事情。对于某些浏览器来说,Web kit就是其底层的网页渲染工具。Web kit是QT库的一部分,因此如果你已经安装QT和PyQT4库,那么你可以直接运行之。

1、环境准备Linux:sudo apt-get install python-qt4

Windows:

第一步:下载.whl,地址:lfd.uci.edu/~gohlke/pythonlibs/#pyqt4,这里可以下载不同的python版本对应的包。

第二步:选择一个目录,将下载好的文件放到该目录下,然后cmd下,cd进入该目录,执行命令:pip install PyQt4-4.11.4-cp36-cp36m-win_amd64.whl,完成安装。

第三步:校验是否安装成功。

2、解决方案首先通过 Web kit 发送请求信息,然后等待网页被完全加载后将其赋值到某个变量中。接下来我们利用lxml从 HTML 数据中提取出有效的信息。这个过程需要一点时间。

import sys

from PyQt4.QtWebKit import *

from PyQt4.QtGui import *

from PyQt4.QtCore import *

class Render(QWebPage): # 用来渲染网页,将url中的所有信息加载下来并存到一个新的框架中

def __init__(self,url):

self.app = QApplication(sys.argv)

QWebPage.__init__(self)

self.loadFinished.connect(self._loadFinished)

self.mainFrame().load(QUrl(url))

self.app.exec_()

def _loadFinished(self, result):

self.frame = self.mainFrame()

self.app.quit()

url = 'jandan/ooxx'

r = Render(url)

html = r.frame.toHtml()

print(html) 那么,后面的工作就是解析HTML代码了,这里不做讲解。

是加密的,解密方法在JS里面可以弄出来。

首先要AES解密,可以Python:import Crypto.Cipher.AES包,解密mode是CFB,seed是"userId:"+uid+":seed"的SHA256值,解密的key是seed[0:24],iv是seed[len(seed)-16:]。

如果没有登录,uid就是用的"anyone",这时候的seed是"61581AF471B166682A37EFE6DD40FE4700EE337FEEEF65E2C8F203FCA312AAAB",也就是key为"61581AF471B166682A37EFE6",iv为"C8F203FCA312AAAB"。

解密后文件是压缩过的,解压即可得到一个JSON。这部分解压我没仔细看他的算法,好像是gzip,直接用Python:import gzip解压有点出错,可能没用对或者不是这个算法,你在研究一下。第二种投机的方法就是,可以通过Python:import execjs直接调用他的pako.js文件的JS的inflate()函数来解压这块。JS代码混淆后看起来是非常难懂的,使用这种做法可以不用太看懂加密的算法,效率当然写Python实现这个解密算法低1点咯。

最后的JSON再用Python:import demjson解析,text的value就是文档。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

图片声明:本站部分配图来自人工智能系统AI生成,国外stocksnap摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国外贸事业出一份力,发布内容不收取任何费用也不接任何广告!
 

  • 热门焦点
  • 江苏省泰州市泰兴市过船镇仁寿村邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市过船镇仁寿村邮编,江苏省泰州市泰兴市过船镇仁寿村的邮编,江苏省泰州市泰兴市过船镇仁寿村的邮政编码,江苏省泰州市泰兴市过船镇仁寿村的邮政编码是多少,江苏省泰州市泰兴市过船镇仁寿村的邮政编码查询,江苏省泰州市泰兴市过船镇仁寿村的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市宁界镇龙王村邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市宁界镇龙王村邮编,江苏省泰州市泰兴市宁界镇龙王村的邮编,江苏省泰州市泰兴市宁界镇龙王村的邮政编码,江苏省泰州市泰兴市宁界镇龙王村的邮政编码是多少,江苏省泰州市泰兴市宁界镇龙王村的邮政编码查询,江苏省泰州市泰兴市宁界镇龙王村的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市黄桥镇文明南村邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市黄桥镇文明南村邮编,江苏省泰州市泰兴市黄桥镇文明南村的邮编,江苏省泰州市泰兴市黄桥镇文明南村的邮政编码,江苏省泰州市泰兴市黄桥镇文明南村的邮政编码是多少,江苏省泰州市泰兴市黄桥镇文明南村的邮政编码查询,江苏省泰州市泰兴市黄桥镇文明南村的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市古溪镇宝塔路邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市古溪镇宝塔路邮编,江苏省泰州市泰兴市古溪镇宝塔路的邮编,江苏省泰州市泰兴市古溪镇宝塔路的邮政编码,江苏省泰州市泰兴市古溪镇宝塔路的邮政编码是多少,江苏省泰州市泰兴市古溪镇宝塔路的邮政编码查询,江苏省泰州市泰兴市古溪镇宝塔路的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市横垛镇横垛村邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市横垛镇横垛村邮编,江苏省泰州市泰兴市横垛镇横垛村的邮编,江苏省泰州市泰兴市横垛镇横垛村的邮政编码,江苏省泰州市泰兴市横垛镇横垛村的邮政编码是多少,江苏省泰州市泰兴市横垛镇横垛村的邮政编码查询,江苏省泰州市泰兴市横垛镇横垛村的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市横垛镇育才路邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市横垛镇育才路邮编,江苏省泰州市泰兴市横垛镇育才路的邮编,江苏省泰州市泰兴市横垛镇育才路的邮政编码,江苏省泰州市泰兴市横垛镇育才路的邮政编码是多少,江苏省泰州市泰兴市横垛镇育才路的邮政编码查询,江苏省泰州市泰兴市横垛镇育才路的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市黄桥镇永丰后园邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市黄桥镇永丰后园邮编,江苏省泰州市泰兴市黄桥镇永丰后园的邮编,江苏省泰州市泰兴市黄桥镇永丰后园的邮政编码,江苏省泰州市泰兴市黄桥镇永丰后园的邮政编码是多少,江苏省泰州市泰兴市黄桥镇永丰后园的邮政编码查询,江苏省泰州市泰兴市黄桥镇永丰后园的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市泰兴镇羌溪花园邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市泰兴镇羌溪花园邮编,江苏省泰州市泰兴市泰兴镇羌溪花园的邮编,江苏省泰州市泰兴市泰兴镇羌溪花园的邮政编码,江苏省泰州市泰兴市泰兴镇羌溪花园的邮政编码是多少,江苏省泰州市泰兴市泰兴镇羌溪花园的邮政编码查询,江苏省泰州市泰兴市泰兴镇羌溪花园的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市古溪镇邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市古溪镇邮编,江苏省泰州市泰兴市古溪镇的邮编,江苏省泰州市泰兴市古溪镇的邮政编码,江苏省泰州市泰兴市古溪镇的邮政编码是多少,江苏省泰州市泰兴市古溪镇的邮政编码查询,江苏省泰州市泰兴市古溪镇的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市泰兴镇保健巷邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市泰兴镇保健巷邮编,江苏省泰州市泰兴市泰兴镇保健巷的邮编,江苏省泰州市泰兴市泰兴镇保健巷的邮政编码,江苏省泰州市泰兴市泰兴镇保健巷的邮政编码是多少,江苏省泰州市泰兴市泰兴镇保健巷的邮政编码查询,江苏省泰州市泰兴市泰兴镇保健巷的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市泰兴镇华泰公寓邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市泰兴镇华泰公寓邮编,江苏省泰州市泰兴市泰兴镇华泰公寓的邮编,江苏省泰州市泰兴市泰兴镇华泰公寓的邮政编码,江苏省泰州市泰兴市泰兴镇华泰公寓的邮政编码是多少,江苏省泰州市泰兴市泰兴镇华泰公寓的邮政编码查询,江苏省泰州市泰兴市泰兴镇华泰公寓的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市泰兴镇中华巷邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市泰兴镇中华巷邮编,江苏省泰州市泰兴市泰兴镇中华巷的邮编,江苏省泰州市泰兴市泰兴镇中华巷的邮政编码,江苏省泰州市泰兴市泰兴镇中华巷的邮政编码是多少,江苏省泰州市泰兴市泰兴镇中华巷的邮政编码查询,江苏省泰州市泰兴市泰兴镇中华巷的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市泰兴镇西鞠家巷邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市泰兴镇西鞠家巷邮编,江苏省泰州市泰兴市泰兴镇西鞠家巷的邮编,江苏省泰州市泰兴市泰兴镇西鞠家巷的邮政编码,江苏省泰州市泰兴市泰兴镇西鞠家巷的邮政编码是多少,江苏省泰州市泰兴市泰兴镇西鞠家巷的邮政编码查询,江苏省泰州市泰兴市泰兴镇西鞠家巷的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市泰兴镇三泰新村邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市泰兴镇三泰新村邮编,江苏省泰州市泰兴市泰兴镇三泰新村的邮编,江苏省泰州市泰兴市泰兴镇三泰新村的邮政编码,江苏省泰州市泰兴市泰兴镇三泰新村的邮政编码是多少,江苏省泰州市泰兴市泰兴镇三泰新村的邮政编码查询,江苏省泰州市泰兴市泰兴镇三泰新村的邮政编码快速查询。
    01-09
  • 江苏省泰州市泰兴市南沙镇唐港村邮编是多少

    邮编查询为您提供江苏省泰州市泰兴市南沙镇唐港村邮编,江苏省泰州市泰兴市南沙镇唐港村的邮编,江苏省泰州市泰兴市南沙镇唐港村的邮政编码,江苏省泰州市泰兴市南沙镇唐港村的邮政编码是多少,江苏省泰州市泰兴市南沙镇唐港村的邮政编码查询,江苏省泰州市泰兴市南沙镇唐港村的邮政编码快速查询。
    01-09