日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scrapy爬取cnnvd网址数据

發布時間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scrapy爬取cnnvd网址数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

附上GitHub鏈接

https://github.com/luweiwei1111/python_spider/tree/master/scrapy/cnnvd

說明:
1.本程序用于爬取cnnvd網址的數據,并將數據通過sqlite3數據庫保存在cnnvd.db庫文件里面,
里面有兩張表:cve_cnnvd_cn 保存cnnvd的相關信息
? ? ? ? ? ? ? cnnvd_url ? ?保存cnnvd的url路徑

2.如何進行爬取(分為兩步進行爬取)
python main_url.py ?爬取cnnvd的url路徑保存起來,由于有時候會由于網絡原因而導致失敗,所以需要繼續爬取。
python main.py ? ? ?遍歷cnnvd_url表,并并在cve_cnnvd_cn里面查找cnnvd,如果已經爬取的則不再爬取,否則就需要爬取,支持繼續爬取的功能。

3.由于經常會被封鎖IP,所以需要使用到IP池代理,我們使用免費的代理(相關網址http://ip.zdaye.com/dayProxy/ip/133009.html),由于免費的代理不穩定,所以我們需要把爬取的數據緩存起來。
防止被禁的策略:
(1)設置download_delay
(2)禁止cookies(COOKIES_ENABLES=False)
(3)使用user agent池
(4)使用IP池
(5)分布式爬取(TODO)

4.遇到的問題:

(1)IP被封鎖

(2)html解析,需要使用beautifulsoup和Xpath配合使用,然后逐個解析數據

(3)由于網絡不穩定的原因,有時候重試幾次均失敗,導致爬取的內容不全,所以需要支持繼續爬取。

在每次爬取前,先判斷下該url是否完成爬取,如果已經爬取成功則不再爬取,否則繼續爬取。

遇到的問題:

1.使用xpath有時候無法獲取具體位置信息,此時需要使用BeautifuSoup。

所以需要介紹下Beautifulsoup

p_list = BeautifulSoup(response.text, 'lxml').find('h2', text=(u"漏洞簡介")).find_parent().find_parent().find_all('p')
p_list = BeautifulSoup(response.text, 'lxml').find('span', text=re.compile("商:")).find(text=re.compile("廠")).find_parent().find_parent()
?

?

總結

以上是生活随笔為你收集整理的scrapy爬取cnnvd网址数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。