chrome 插件 抓取网页qq聊天记录(初识网络爬虫的基本流程及流程)

优采云 发布时间: 2022-04-18 20:18

  chrome 插件 抓取网页qq聊天记录(初识网络爬虫的基本流程及流程)

  文章目录

  1、准备聊天

  1、关闭计算机的防火墙

  

  2、关闭不必要的虚拟网络和其他不必要的以太网,只留下一个网络聊天通道

  

  3、两台电脑连接同一个手机热点,打开疯狂聊天程序

  2聊天抓包2.1、狂聊

  1、先给自己起个聊天昵称,在两台电脑(或多台电脑一起)输入同一个*敏*感*词*号码

  

  2、发消息,即聊天

  

  2.2、使用wireshark捕获聊天消息

  1、打开wireshark捕捉wlan(无线网络)下的聊天信息,如果没有,请参考:

  

  2 查看聊天信息的Dst地址为255.255.255.255

  

  3、查找目标为 25 的记录5.255.255.255

  

  可以看到网络是通过UDP协议连接的

  4、查看英文聊天消息

  

  5、查看数字聊天消息

  

  6、查看文字聊天消息

  

  7、从上面的爬取结果来看,聊天使用的端口是17345,使用的协议是UDP

  

  2、从网络爬虫开始2.1、什么是爬虫

  1、简介:网络爬虫也称为网络蜘蛛、网络蚂蚁、网络机器人等,它的英文名称是Web Crawler或Web Spider,可以自动浏览网络上的信息。当然,在浏览信息时,您需要遵循我们的公式。浏览的规则,这些规则我们称之为网络爬虫算法。使用Python,编写爬虫程序来自动检索互联网信息非常方便。

  2、爬虫的基本流程:发起请求:通过url向服务器发起请求,请求中可以收录额外的头部信息。获取响应内容:如果服务器正常响应,那么我们会收到一个响应,也就是我们请求的网页内容,可能收录HTML、Json字符串或者二进制数据(视频、图片)等。

  3、URL管理模块:发起请求。通常,请求是通过 HTTP 库向目标站点发出的。相当于自己打开浏览器,输入网址。

  下载模块:获取响应内容(response)。如果服务器上存在请求的内容,服务器会返回请求的内容,一般为:HTML、二进制文件(视频、音频)、文档、Json字符串等。

  解析模块:解析内容。对于用户来说,就是找到他们需要的信息。对于Python爬虫来说,就是使用正则表达式或者其他库来提取目标信息。

  存储模块:保存数据。解析后的数据可以以文本、音频、视频等多种形式存储在本地。

  

  2.2、爬取南洋理工ACM专题网站资料

  1、打开南洋理工ACM话题网站,然后按F12进入工作模式,点击source,可以看到网页的源代码,然后就可以看到话题信息了我们需要的是在TD标签里面,也就是我们要爬取TD标签里面的内容

  

  2、我用的是jupyter,打开用python编程

  import requests# 导入网页请求库

from bs4 import BeautifulSoup# 导入网页解析库

import csv

from tqdm import tqdm

# 模拟浏览器访问

Headers = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400'

# 表头

csvHeaders = ['题号', '难度', '标题', '通过率', '通过数/总提交数']

# 题目数据

subjects = []

# 爬取题目

print('题目信息爬取中:\n')

for pages in tqdm(range(1, 11 + 1)):

# 传入URL

r = requests.get(f'http://www.51mxd.cn/problemset.php-page={

pages}.htm', Headers)

r.raise_for_status()

r.encoding = 'utf-8'

# 解析URL

soup = BeautifulSoup(r.text, 'html5lib')

#查找爬取与td相关所有内容

td = soup.find_all('td')

subject = []

for t in td:

if t.string is not None:

subject.append(t.string)

if len(subject) == 5:

subjects.append(subject)

subject = []

# 存放题目

with open('D:\word\protice.csv', 'w', newline='') as file:

fileWriter = csv.writer(file)

fileWriter.writerow(csvHeaders)

fileWriter.writerows(subjects)

print('\n题目信息爬取完成!!!')

  3、然后运行程序

  

  4、查看生成的爬取数据

  

  

  2.3、爬取重庆交大新闻近年所有信息公告网站

  1、打开重庆交通大学信息通知网站:

  2、F12也打开进入开发者模式,网页源码可以在emelents下找到。可以看到我们需要爬取的信息在div标签中

  

  3、查找要爬取的数据页数

  

  4、 接下来在jupyter中编写代码

  # -*- coding: utf-8 -*-

"""

Created on Wed Nov 17 14:39:03 2021

@author: 86199

"""

import requests

from bs4 import BeautifulSoup

import csv

from tqdm import tqdm

import urllib.request, urllib.error # 制定URL 获取网页数据

# 所有新闻

subjects = []

# 模拟浏览器访问

Headers = {

# 模拟浏览器头部信息

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Edg/95.0.1020.53"

}

# 表头

csvHeaders = ['时间', '标题']

print('信息爬取中:\n')

for pages in tqdm(range(1, 65 + 1)):

# 发出请求

request = urllib.request.Request(f'http://news.cqjtu.edu.cn/xxtz/{

pages}.htm', headers=Headers)

html = ""

# 如果请求成功则获取网页内容

try:

response = urllib.request.urlopen(request)

html = response.read().decode("utf-8")

except urllib.error.URLError as e:

if hasattr(e, "code"):

print(e.code)

if hasattr(e, "reason"):

print(e.reason)

# 解析网页

soup = BeautifulSoup(html, 'html5lib')

# 存放一条新闻

subject = []

# 查找所有li标签

li = soup.find_all('li')

for l in li:

# 查找满足条件的div标签

if l.find_all('div',class_="time") is not None and l.find_all('div',class_="right-title") is not None:

# 时间、爬取的标签

for time in l.find_all('div',class_="time"):

subject.append(time.string)

# 标题

for title in l.find_all('div',class_="right-title"):

for t in title.find_all('a',target="_blank"):

subject.append(t.string)

if subject:

print(subject)

subjects.append(subject)

subject = []

# 保存数据

with open('D:/word/new.csv', 'w', newline='',encoding='utf-8') as file:

fileWriter = csv.writer(file)

fileWriter.writerow(csvHeaders)

fileWriter.writerows(subjects)

print('\n信息爬取完成!!!')

  5、运行代码

  

  6、爬取的数据

  

  

  3、总结

  刚刚接触爬虫,对爬虫不是很熟悉,但是参考网上的资料,还是可以爬取一些简单的信息。对于网站的信息爬取,首先要分析网站的源码,分析爬取信息,找到其所属标签的内容,然后进行爬取。通过这个实践,我意识到爬虫对我们还是很有帮助的,它们可以很好地帮助我们处理随机信息。

  参考:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线