在Python中,我们可以使用各种库和框架来爬取fofa网页端数据。以下是基于Python爬取fofa网页端数据的完整攻略,包含两个示例。
示例1:使用requests和BeautifulSoup库爬取fofa网页端数据
以下是一个示例,可以使用requests和BeautifulSoup库爬取fofa网页端数据:
步骤1:安装requests和BeautifulSoup库
在使用requests和BeautifulSoup库爬取fofa网页端数据之前,我们需要先安装这两个库。可以使用pip命令来安装这两个库:
pip install requests
pip install beautifulsoup4
步骤2:使用requests和BeautifulSoup库爬取fofa网页端数据
在安装requests和BeautifulSoup库之后,我们可以使用这两个库爬取fofa网页端数据。以下是一个示例,可以使用requests和BeautifulSoup库爬取fofa网页端数据:
import requests
from bs4 import BeautifulSoup
# 设置请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 设置请求参数
params = {
'qbase64': 'YXBwPSJmb2ZhIiZndD0iMSI=',
'page': 1
}
# 发送GET请求
response = requests.get('https://fofa.so/result', headers=headers, params=params)
# 解析HTML页面
soup = BeautifulSoup(response.text, 'html.parser')
# 查找结果列表
result_list = soup.find_all('div', class_='list_mod_t')
# 输出结果列表
for result in result_list:
print(result.text)
在上面的示例中,我们首先设置了请求头和请求参数。然后,我们使用requests库的get方法发送GET请求,并获取了响应数据。接下来,我们使用BeautifulSoup库的find_all方法查找结果列表,并输出结果列表。
示例2:使用selenium和Pandas库爬取fofa网页端数据
除了使用requests和BeautifulSoup库爬取fofa网页端数据之外,我们还可以使用selenium和Pandas库爬取fofa网页端数据。以下是一个示例,可以使用selenium和Pandas库爬取fofa网页端数据:
步骤1:安装selenium和Pandas库
在使用selenium和Pandas库爬取fofa网页端数据之前,我们需要先安装这两个库。可以使用pip命令来安装这两个库:
pip install selenium
pip install pandas
步骤2:使用selenium和Pandas库爬取fofa网页端数据
在安装selenium和Pandas库之后,我们可以使用这两个库爬取fofa网页端数据。以下是一个示例,可以使用selenium和Pandas库爬取fofa网页端数据:
from selenium import webdriver
import pandas as pd
# 创建一个Chrome浏览器实例
driver = webdriver.Chrome()
# 打开fofa搜索页面
driver.get('https://fofa.so/result?qbase64=YXBwPSJmb2ZhIiZndD0iMSI=&page=1')
# 获取结果列表
result_list = driver.find_elements_by_xpath('//div[@class="list_mod_t"]')
# 将结果列表转换为DataFrame对象
df = pd.DataFrame(columns=['IP', 'Port', 'Title'])
for result in result_list:
ip = result.find_element_by_xpath('.//a[@class="ip"]')
port = result.find_element_by_xpath('.//a[@class="port"]')
title = result.find_element_by_xpath('.//a[@class="link"]')
df = df.append({'IP': ip.text, 'Port': port.text, 'Title': title.text}, ignore_index=True)
# 输出结果
print(df)
# 关闭浏览器实例
driver.quit()
在上面的示例中,我们首先创建了一个Chrome浏览器实例,并打开了fofa搜索页面。然后,我们使用selenium库的find_elements_by_xpath方法获取了结果列表,并将其转换为DataFrame对象。最后,我们使用print函数输出结果,并关闭了浏览器实例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于Python爬取fofa网页端数据过程解析 - Python技术站