需要:MySQLdb 
下面是数据表结构:

/*
Navicat MySQL Data Transfer Source Server : 127.0.0.1
Source Server Version : 50509
Source Host : 127.0.0.1:3306
Source Database : wooyun Target Server Type : MYSQL
Target Server Version : 50509
File Encoding : 65001 Date: 2015-09-24 17:38:14
*/ SET FOREIGN_KEY_CHECKS=0; -- ----------------------------
-- Table structure for wooyun_vul
-- ----------------------------
DROP TABLE IF EXISTS `wooyun_vul`;
CREATE TABLE `wooyun_vul` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`corpsname` varchar(255) DEFAULT NULL,
`corpsurl` varchar(255) DEFAULT NULL,
`vulcount` int(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

python 脚本:

#conding=utf-8
import urllib2
import urllib
import re
import MySQLdb url = "http://wooyun.org/corps/page/"
def getWooyuncorps(url):
request = urllib2.Request(url)
request.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36')
reponse = urllib2.urlopen(request)
content = reponse.read()
pattern1 = re.compile(r'<td width="370"><a href="\/corps\/(.*?)">.*?<\/a><\/td>')
pattern2 = re.compile(r'<a rel="nofollow" href="(.*?)" target=')
corps = pattern1.findall(content)
corpsUrl = pattern2.findall(content)
return corps,corpsUrl def getcorpscount(url):
request = urllib2.Request(url)
request.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36')
reponse = urllib2.urlopen(request)
content = reponse.read()
pattern = re.compile(r'<p class="page">.*?(\d+).*')
count = pattern.findall(content)
return count corpslist = []
corpsurllist = []
countlist = []
for i in range(1,37):
corps,corpsUrl = getWooyuncorps(url+str(i))
for corp in corps:
corpslist.append(corp)
for urls in corpsUrl:
corpsurllist.append(urls)
print len(corpslist),len(corpsurllist) for i in range(0,len(corpslist)):
newurl = "http://www.wooyun.org/corps/"+urllib.quote(corpslist[i])
#print newurl
count = getcorpscount(newurl)
#print count
for countA in count:
countlist.append(countA) #print len(countlist)
conn = MySQLdb.connect('localhost','root','','wooyun')
cur = conn.cursor()
sql = "set names 'utf8'"
cur.execute(sql)
conn.commit() for s in range(0,len(countlist)):
sql = 'insert into wooyun_vul(corpsname,corpsurl,vulcount) values("%s","%s",%d)' %(corpslist[s],corpsurllist[s],int(countlist[s]))
print sql
cur.execute(sql)
conn.commit() conn.close()
print "success"

  

python 爬取乌云所有厂商名字,url,漏洞总数 并存入数据库的更多相关文章

  1. Python:爬取乌云厂商列表,使用BeautifulSoup解析

    在SSS论坛看到有人写的Python爬取乌云厂商,想练一下手,就照着重新写了一遍 原帖:http://bbs.sssie.com/thread-965-1-1.html #coding:utf- im ...

  2. 用selenium 自动爬取某一本小说章节及其内容,并存入数据库中

    from selenium import webdriver import pymysql from selenium.webdriver.support.ui import WebDriverWai ...

  3. 利用Python爬取豆瓣电影

    目标:使用Python爬取豆瓣电影并保存MongoDB数据库中 我们先来看一下通过浏览器的方式来筛选某些特定的电影: 我们把URL来复制出来分析分析: https://movie.douban.com ...

  4. Python爬取LOL英雄皮肤

    Python爬取LOL英雄皮肤 Python 爬虫  一 实现分析 在官网上找到英雄皮肤的真实链接,查看多个后发现前缀相同,后面对应为英雄的ID和皮肤的ID,皮肤的ID从00开始顺序递增,而英雄ID跟 ...

  5. 利用python爬取58同城简历数据

    利用python爬取58同城简历数据 利用python爬取58同城简历数据 最近接到一个工作,需要获取58同城上面的简历信息(http://gz.58.com/qzyewu/).最开始想到是用pyth ...

  6. Python爬取网页信息

    Python爬取网页信息的步骤 以爬取英文名字网站(https://nameberry.com/)中每个名字的评论内容,包括英文名,用户名,评论的时间和评论的内容为例. 1.确认网址 在浏览器中输入初 ...

  7. steam夏日促销悄然开始,用Python爬取排行榜上的游戏打折信息

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 不知不觉,一年一度如火如荼的steam夏日促销悄然开始了.每年通过大大小小 ...

  8. Python爬取 | 唯美女生图片

    这里只是代码展示,且复制后不能直接运行,需要配置一些设置才行,具体请查看下方链接介绍: Python爬取 | 唯美女生图片 from selenium import webdriver from fa ...

  9. Python爬取 | 王者荣耀英雄皮肤海报

    这里只展示代码,具体介绍请点击下方链接. Python爬取 | 王者荣耀英雄皮肤海报 import requests import re import os import time import wi ...

随机推荐

  1. Servlet、Filter、Listener、Interceptor

    首先,JSP/Servlet规范中定义了Servlet.Filter.Listener这三种角色,并没有定义Interceptor这个角 色,Interceptor是某些MVC框架中的角色,比如Str ...

  2. LoadRunner 11 安装步骤

    loadrunner 安装步骤: LoadRunner11下载:  在网上可以搜索到,在这个就不提供了. LoadRunner11原理: 破解方法和以前版本相同,我用的是LR8.0的破解文件,同样实用 ...

  3. mapreduce导出MSSQL的数据到HDFS

    今天想通过一些数据,来测试一下我的<基于信息熵的无字典分词算法>这篇文章的正确性.就写了一下MapReduce程序从MSSQL SERVER2008数据库里取数据分析.程序发布到hadoo ...

  4. Mac安装Windows 10的简明教程

    每次在Mac上安装Windows都是一件非常痛苦的事情,曾经为了装Win8把整台Mac的硬盘数据都弄丢了,最后通过龟速系统恢复模式恢复了MacOSX(50M电信光纤下载了3天才把系统下载完),相信和我 ...

  5. linuxx virutal machine installation

    1. vmplayer download: https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player ...

  6. [Django]登陆界面以及用户登入登出权限

    前言:简单的登陆界面展现,以及用户登陆登出,最后用户权限的问题 正文: 首先需要在settings.py设置ROOT_URLCONF,默认值为: ROOT_URLCONF  = 'www.urls'# ...

  7. Sql server2012 常见异常处理

    网络相关 无法通过IP(127.0.0.1 或者其他本机)连接 确保TCP/IP功能开启 打开1433端口 权限相关 代理的权限,通过更改有最高权限的用户,或者给该用户指定的权限 给域用户开通SQLS ...

  8. STL"源码"剖析-重点知识总结

    STL是C++重要的组件之一,大学时看过<STL源码剖析>这本书,这几天复习了一下,总结出以下LZ认为比较重要的知识点,内容有点略多 :) 1.STL概述 STL提供六大组件,彼此可以组合 ...

  9. Linux下管道编程

    功能: 父进程创建一个子进程父进程负责读用户终端输入,并写入管道 子进程从管道接收字符流写入另一个文件 代码: #include <stdio.h> #include <unistd ...

  10. 对象比较器:Comparable和Comparator

    在进行对象数组排序的过程中需要使用到比较器,比较器有两个:Comparable和Comparator ①.java.lang.Comparable:是在类定义是时候默认实现好的接口,里面提供有一个co ...