完全获取python中javascript文件及其内容的所有名称

作者: 2890bd62c72a | 来源:发表于2019-08-06 15:03 被阅读1次

    扫描一些网站,并希望获得所有的java脚本文件名称和内容。我尝试使用BeautifulSoup的python请求,但无法获取脚本详细信息和contents.am我错过了什么?

    我一直在尝试很多方法来寻找,但我觉得在黑暗中磕磕绊绊。这是我正在尝试的代码

    导入请求
    来自bs4 进口 BeautifulSoup
    r =请求。得到(“http://www.marunadanmalayali.com/”)
    汤= BeautifulSoup(r.content)
    
    

    大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:784758214,这里是python学习者聚集地!!同时,自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每日分享一些学习的方法和需要注意的小细节

    您可以使用以下代码获取所有链接的JavaScript代码:

    • soup.find_all('script')返回<script>页面中所有标签的列表。

    • 一个列表理解这里使用循环遍历其返回的列表中的所有元素soup.find_all('script')

    • i是一个类似于dict的对象,用于.get('src')检查它是否具有src属性。如果没有,请忽略它。否则,将其放入一个列表(l在示例中调用)。

    输出,在这种情况下如下所示:

    [ 'http://adserver.adtech.de/addyn/3.0/1602/5506153/0/6490/ADTECH ; loc = 700; target = _blank; grp = [group]',
     'http://tags.expo9。 exponential.com/tags/MarunadanMalayalicom/ROS/tags.js '
      'http://tags.expo9.exponential.com/tags/MarunadanMalayalicom/ROS/tags.js ',
      ' http://js.genieessp.com/吨/ 057/794 / a1057794.js '
      'http://ib.adnxs.com/ttj?id=5620689&cb= [ CACHEBUSTER ]&pubclick = [ INSERT_CLICK_TAG ]',
      ' http://ib.adnxs.com/ttj ?ID = 5531763 ”,
      'http://advs.adgorithms.com/ttj?id=3279193&cb= [ CACHEBUSTER ]&pubclick = [ INSERT_CLICK_TAG ]',
     'http://xp2.zedo.com/jsc/xp2/fo.js ',
      'http://www.marunadanmalayali.com/js/mnmads.js ',
      “http://www.marunadanmalayali.com/js /jquery-2.1.0.min.js '
      'http://www.marunadanmalayali.com/js/jquery.hoverIntent.minified.js ',
      ' http://www.marunadanmalayali.com/js/jquery.dcmegamenu .1.3.3.js '
      'http://www.marunadanmalayali.com/js/jquery.cookie.js ',
      'http://www.marunadanmalayali.com/js/swanalekha-ml.js ',
      ' HTTP :?//www.marunadanmalayali.com/js/marunadan.js R = 1875年 '
      'http://www.marunadanmalayali.com/js/taboola_home.js ',
      ' http://d8.zedo.com/jsc /d8/fo.js ']
    
    

    我的代码错过了一些链接,因为它们实际上不在HTML源代码中。

    您可以在控制台中看到它们:

    但他们不在源头:

    通常,那是因为这些链接是由JavaScript生成的。并且该requests模块不会像真正的浏览器一样在页面中运行任何JavaScript - 它只发送获取HTML源的请求。

    如果您还需要它们,则必须使用另一个模块在该页面中运行JavaScript,然后您可以看到这些链接。为此,我建议使用selenium - 它运行一个真正的浏览器,以便它可以在页面中运行JavaScript。

    例如(确保您已经安装了selenium和Web驱动程序):

    来自bs4 进口 BeautifulSoup
    来自selenium import webdriver
    
    驱动= webdriver.Chrome()#使用铬驱动器用于例如
    驱动程序。得到('http://www.marunadanmalayali.com/')
    
    soup = BeautifulSoup(driver.page_source,“html.parser”)
    l = [i。获得(“SRC”)为我在 soup.find_all(“脚本”),如果我。得到('src')]
    
    __import __('pprint').pprint(l)
    Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎
    

    相关文章

      网友评论

        本文标题:完全获取python中javascript文件及其内容的所有名称

        本文链接:https://www.haomeiwen.com/subject/ttimdctx.html