【Python】打造自己的信息收集工具,保姆式教学你也来试试吧(附源码)

介绍:

该篇章主要介绍如何编写自己的信息收集工具,主要流程如下:

1、向bing搜索引擎发起request请求,获取url数据
2、使用正则表达式对获取的数据进行处理
3、用多线程,对处理的数据进行二次请求,返回标题等数据
4、使用openyxl模块,将数据保存为.xlsx格式

请注意:

该篇章目的是熟悉Python编程,学习Python的一些常见模块,在编写程序的过程中会有很多操作和方式方法,望大家能共同加油学到东西。本文仅用于技术讨论与研究,这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。
在这里插入图片描述

本文涉及到模块有:

#coding:utf-8
import requests     #发起request请求
import urllib3      #处理请求https异常报错问题
import re       #使用正则表达式对请求到的数据进行处理
from optparse import OptionParser   #自定义输入参数
import threading        #多线程模块
import queue            #多线程辅助模块,使用队列的方式对多线程进行控制
from bs4 import BeautifulSoup   #与re类似 使用正则表达式对请求到的数据进行处理
import time,datetime    #获取当前的时间
from openpyxl import  * #数据处理,将获取到的数据保存在excel文件中
属性:
heads = {
                          #全局变量  请求头
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64)                          AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36',   #模拟浏览器请求
'Connection':'close',
'Accept-Encoding':'gzip, deflate'
}
count=1                         #全局变量  用于序号字段
queueLock = threading.Lock()    #全局变量  使用线程锁处理 线程异常问题
class DoRun(threading.Thread):  #自定义 多线程运行时使用的类
方法:
def get_Input():    #获取search语句 和 page
def getUrls(search,page):       #构造搜索语句,在bing搜索引擎搜索数据并返回urls
def req(url):   #对url进行验证,返回numb,url,title,status
def init_excel(filename):  #创建.xlsx表格,并初始化内容
def Save_Date(date,filename):   #将数据存储到表格当中
def run():     #核心代码

完整代码如下:

#coding:utf-8
import requests     #发起request请求
import urllib3      #处理请求https异常报错问题
import re       #使用正则表达式对请求到的数据进行处理
from optparse import OptionParser   #自定义输入参数
import threading        #多线程模块
import queue            #多线程辅助模块,使用队列的方式对多线程进行控制
from bs4 import BeautifulSoup   #与re类似 使用正则表达式对请求到的数据进行处理
import time,datetime    #获取当前的时间
from openpyxl import  * #数据处理,将获取到的数据保存在excel文件中

heads = {
                          #全局变量  请求头
            'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36',   #模拟浏览器请求
            'Connection':'close',
            'Accept-Encoding':'gzip, deflate'
        }
count=1                         #全局变量  用于序号字段
queueLock = threading.Lock()    #全局变量  使用线程锁处理 线程异常问题
class 
  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值