python3判断url链接是否为404的方法

yipeiwu_com6年前Python基础

本文实例为大家分享了python3判断url链接是否为404的具体代码,供大家参考,具体内容如下

import pymysql
import threading
import time
import urllib
import requests
 
# 打开数据库连接
db = pymysql.connect("192.168.0.*", "username", "password", "databasename")
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL 查询语句
sql = "SELECT sku,url_6 FROM url_new where flag_6 is null and url_6<>'' "
  # 执行SQL语句
cursor.execute(sql)
  # 获取所有记录列表
results = cursor.fetchall()
num = 0
for row in results:
  sku = row[0]
  url = row[1]
  html = requests.head(url) # 用head方法去请求资源头
  re=html.status_code
  num = num + 1
  print(num,re)
  if re == 200:
    sql_2 = "UPDATE url_new SET flag_6 = 0 WHERE sku = '%s'" % sku
    try:
      # 执行SQL语句
      cursor.execute(sql_2)
      #print(cursor.rowcount)
    except Exception as e:
      print(e)
      conn.rollback()
  if re == 404:
    sql_3 = "UPDATE url_new SET flag_6 = 1 WHERE sku = '%s'" % sku
    try:
      # 执行SQL语句
      cursor.execute(sql_3)
      print(cursor.rowcount)
    except Exception as e:
      print(e)
      conn.rollback()
  db.commit()
db.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 中的参数传递、返回值、浅拷贝、深拷贝

1. Python 的参数传递 Python的参数传递,无法控制引用传递还是值传递。对于不可变对象(数字、字符、元组等)的参数,更类似值传递;对于可变对象(列表、字典等),更类似引用传递...

pytorch 修改预训练model实例

我就废话不多说了,直接上代码吧! class Net(nn.Module): def __init__(self , model): super(Net, self)._...

python 用正则表达式筛选文本信息的实例

本文主要介绍如何对多个文本进行读取,并采用正则表达式对其中的信息进行筛选,将筛选出来的信息存写到一个新文本。 文本基础操作 打开文件:open(‘文件名',‘打开方式')>>...

在Django的URLconf中使用多个视图前缀的方法

在实践中,如果你使用字符串技术,特别是当你的 URLconf 中没有一个公共前缀时,你最终可能混合视图。 然而,你仍然可以利用视图前缀的简便方式来减少重复。 只要增加多个 pattern...

利用Python实现网络测试的脚本分享

前言 最近同学让我帮忙写一个测试网络的工具。由于工作上的事情,断断续续地拖了很久才给出一个相对完整的版本。其实,我Python用的比较少,所以基本都是边查资料边写程序。 程序的主要逻辑如...