自动化爬取网贷黑名单

需求

目标网址:http://www.p2pjd.com/Article_Class_103.html

  • 点开链接,获取网贷黑名单的内容,不管信息是什么,每一条都保存为一条数据到txt。
  • 将获取的数据中的电话号,手机号,qq号提取出来,保存于另一文件中。

代码

和上一篇的爬取方法类似:http://blog.csdn.net/xunalove/article/details/77906343
使用selenium爬虫利器自动爬取113条信息,然后通过正则匹配出想要的数据。

# -*- coding:utf-8 -*-
#-*- coding:utf-8 -*-
import unittest
import time
import re
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import sys
reload(sys)
sys.setdefaultencoding("ISO-8859-1")

def get_all_code():
    f = open("/home/xuna/桌面/img_code/all.txt",'w')
    url = 'http://www.p2pjd.com/News/20433.html'
    driver = webdriver.Chrome()
    driver.get(url)
    n =1
    for i in range(113):
        name_xpath = '//*[@id="content"]'
        name = driver.find_element_by_xpath(name_xpath).text.encode("GB18030","ignore")
        name = "".join(name.split())
        try:
            f.write(name + "\n")
        except:
            print "cuowu"
        print n
        n = n + 1

        if i == 112:
            break
        click_btn = driver.find_element_by_xpath('//*[@id="web2l"]/div[4]/li[1]/a')
        ActionChains(driver).click(click_btn).perform()

    driver.close()


def get_num():

    f = open("/home/xuna/桌面/img_code/all.txt",'r')
    f1 = open("/home/xuna/桌面/img_code/phone_number.txt",'a')
    s = ""
    for line in f:
        temp = line.decode("GB18030","ignore")
        s = s + temp

    #手机号
    t = set()
    res = re.findall(r'1[3458]\d{9}',s) + re.findall(r'\d{3}-\d{8}|\d{4}-\{7,8}',s) + re.findall(r'[1-9][0-9]{4,9}',s)

    #去重
    for num in res:
        t.add(num)

    for num in t:
        f1.write(str(num) + "\n")
    print len(t)


if __name__ == "__main__":

    #获取全部的数据
    #get_all_code()

    #依次获取数据中的手机号,电话号和QQ号
    get_num()

效果

获取的全部数据
这里写图片描述
获取的手机号,电话号和qq号
这里写图片描述

存在的问题

匹配的手机号里面会存在身份证号的部分,匹配的qq号则会混合进去身份证号和部分金钱的数字。
解决方法
先匹配出身份证号,替换为空,然后匹配手机,匹配一个手机号就将其替换为空,之后匹配的qq号里面则不会存在身份证号和手机号,但是还有有部分金钱的数字混进去。。

源码和获取的结果:https://github.com/xuna123/Python_pro

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值