Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将这些网站归类为非工作网站?_Python_Python 3.x_Python 2.7_Beautifulsoup_Python Requests - Fatal编程技术网

Python 如何将这些网站归类为非工作网站?

Python 如何将这些网站归类为非工作网站?,python,python-3.x,python-2.7,beautifulsoup,python-requests,Python,Python 3.x,Python 2.7,Beautifulsoup,Python Requests,我一直在开发一个程序来检查网站是否正常工作。我从excel工作表中获取URL,然后将结果粘贴为True(工作)和False(非工作)在同一excel工作表中,但对于某些URL,如和,它显示网站正在工作,但网站上没有数据。我想过滤这些类型的网站没有数据到非工作类别。除了状态代码的使用,我还可以使用什么KPI来证明这一点。代码如下: import http.client as httpc from urllib.parse import urlparse import pandas as pd im

我一直在开发一个程序来检查网站是否正常工作。我从excel工作表中获取URL,然后将结果粘贴为True(工作)和False(非工作)在同一excel工作表中,但对于某些URL,如,它显示网站正在工作,但网站上没有数据。我想过滤这些类型的网站没有数据到非工作类别。除了状态代码的使用,我还可以使用什么KPI来证明这一点。代码如下:

import http.client as httpc
from urllib.parse import urlparse
import pandas as pd
import xlwings as xw
import smtplib
from xlsxwriter import Workbook
from xlutils import copy
import socket
import requests
from bs4 import BeautifulSoup as BS

socket.getaddrinfo('172.23.24.143', 8080)

x=[]

df = pd.read_excel (r'xyz.xlsx')
df1=pd.DataFrame(df,columns=['URL'])
print(df1)
url_list=df["URL"].tolist()
print(url_list)


for i in url_list:
    def checkUrl(i):
    if 'http' not in i:
        i= 'https://'+i
    p = urlparse(i)
    if (p.scheme == 'http'):
        conn = httpc.HTTPConnection(p.netloc,timeout=15)
    else:
        conn = httpc.HTTPSConnection(p.netloc,timeout=15)
    try:
        conn.request('HEAD', p.path)
        resp = conn.getresponse()
        return resp.status<400:
    except OSError:
        return False
print(checkUrl(i))
x.append(checkUrl(i)) 

workbook = Workbook('xyz.xlsx')
Report_Sheet = workbook.add_worksheet()
Report_Sheet.write(0, 1, 'Value')
Report_Sheet.write_column(1, 1, x)
Report_Sheet.write(0,0,'URL')
Report_Sheet.write_column(1, 0, url_list)
workbook.close()
将http.client作为httpc导入
从urllib.parse导入urlparse
作为pd进口熊猫
将xlwings作为xw导入
导入smtplib
从xlsxwriter导入工作簿
从xlutils导入副本
导入套接字
导入请求
从bs4导入BeautifulSoup作为BS
socket.getaddrinfo('172.23.24.143',8080)
x=[]
df=pd.read_excel(r'xyz.xlsx')
df1=pd.DataFrame(df,columns=['URL'])
打印(df1)
url_list=df[“url”].tolist()
打印(url\u列表)
对于url_列表中的i:
def checkUrl(一):
如果“http”不在i中:
i='https://'+i
p=urlparse(i)
如果(p.scheme=='http'):
conn=httpc.HTTPConnection(p.netloc,超时=15)
其他:
conn=httpc.HTTPSConnection(p.netloc,超时=15)
尝试:
连接请求(“头”,p.path)
resp=conn.getresponse()

return resp.status除非您收到
服务不可用
错误,否则这些站点正在工作。所以你的问题是筛选出没有数据的网站。你为什么不只检查状态代码而不是网站的内容?可能是因为网站
工作
(可访问),但为空。是@Alderven,我想筛选出没有显示网站工作状态的数据状态代码的网站。您将需要一个无数据的定义,因为即使在您列出的两个网站之间,显示的html量也存在差异。从形式上讲,除非您接收到
服务不可用
错误,否则这些网站正常工作。所以你的问题是筛选出没有数据的网站。你为什么不只检查状态代码而不是网站的内容?可能是因为网站
工作
(可访问),但为空。是@Alderven,我想过滤掉没有显示网站工作的数据状态代码的网站。你需要一个没有数据的定义,因为即使在你列出的两个网站之间,html的数量也有差异。