介绍:
该篇章主要介绍如何编写自己的信息收集工具,主要流程如下:
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