2017-07-14 9 views
0

この質問を投稿して申し訳ありません。誰かが別のサイトに質問を移行しましたが、コメントや編集はできませんでした。bs4/python3を使ってhrefを抽出していますか? (もう一度)

私はpythonとbs4の新機能ですので、簡単に私に行ってください。

#!/usr/bin/python3 
import bs4 as bs 
import urllib.request 
import time, datetime, os, requests, lxml.html 
import re 
from fake_useragent import UserAgent 

url = "https://www.cvedetails.com/vulnerability-list.php" 
ua = UserAgent() 
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'} 
snkr = requests.get(url,headers=header) 
soup = bs.BeautifulSoup(snkr.content,'lxml') 

for item in soup.find_all('tr', class_="srrowns"): 
    print(item.td.next_sibling.next_sibling.a) 

プリント:recommened文字列を使用して

<a href="/cve/CVE-2017-6712/" title="CVE-2017-6712 security vulnerability details">CVE-2017-6712</a> 
<a href="/cve/CVE-2017-6708/" title="CVE-2017-6708 security vulnerability details">CVE-2017-6708</a> 
<a href="/cve/CVE-2017-6707/" title="CVE-2017-6707 security vulnerability details">CVE-2017-6707</a> 
<a href="/cve/CVE-2017-1269/" title="CVE-2017-1269 security vulnerability details">CVE-2017-1269</a> 
<a href="/cve/CVE-2017-0711/" title="CVE-2017-0711 security vulnerability details">CVE-2017-0711</a> 
<a href="/cve/CVE-2017-0706/" title="CVE-2017-0706 security vulnerability details">CVE-2017-0706</a> 

print(item.td.next_sibling.next_sibling.a.href) 

プリント:

None 
None 
None 
None 
None 
None 

/cve/CVE-2017-XXXX/部分を抽出する方法を見つけ出すことはできません。おそらく私はそれについて間違った方法を行った。私はタイトルやHTMLが必要ではなく、ちょうどURIです。

+0

を'。 –

答えて

0

私はあなたが何かしようとすべきだと思う:それは `[ 'のhref']は` `.href` ... BSでのアイデアは、` .tag`と `[ '属性']でいない

for item in soup.find_all('tr', class_="srrowns"): 
    print(item.td.next_sibling.next_sibling.a['href']) 
+0

ありがとうございます。これはうまくいった。 – wwwwwww

関連する問題