0
from bs4 import BeautifulSoup
import re
import HTMLParser
import urllib
url = raw_input('enter - ')
html = urllib.urlopen(url).read()
soup = BeautifulSoup(html)
scripts=soup.find_all('script')
for tag in scripts:
    try:
      Script = tag["src"]
      print Script
    except:
      print "No source"

使用此代码我没有从 html 文档中获取所有 java 脚本。

4

2 回答 2

0
from bs4 import BeautifulSoup
import urllib2

r = urllib2.urlopen('<your url>').read()
soup = BeautifulSoup(r, 'html.parser')

for s in soup.findAll('script'):
    print s.get('src')
于 2016-03-10T10:12:38.853 回答
0

我检查了你的代码,你似乎得到了所有的 javascript。至少你检查所有的标签。当然,一些 javascript 可能会直接嵌入到 html 中,因此不会有 src 属性。<script>...</script>仅仅是标签之间的实际 javascript 。您可以tag.contents在循环中使用这些嵌入标签之间的 javscript。

此外,我建议指定一个解析器。默认情况下,bs4 使用html.parser. 其他解析器可能表现更好/不同。查看:http ://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser

于 2016-03-10T09:51:18.523 回答