无法计算使用 Python 的网页抓取页面的成功请求



我想开始记录我有多少个状态为 200 的成功请求,当我完成页面的网页抓取后,我使用以下部分

import requests
import csv
import selenium
from selenium import webdriver
import time
from time import sleep
import datetime
mycount = 0 
class Parser(object):
    ses = requests.Session()
    # parse a single item to get information
    def parse(self, urls):
        url = urls[1]
        try:
            r = self.ses.get(url)
            time.sleep(3)
            if r.status_code == 200:
                mycount=mycount+1

后来当我有mycount将其传递给列表和csv时

if __name__ == "__main__":
    with Pool(4) as p:
        print('Just before parsing..Page')
        records = p.map(parser.parse, web_links)
        with open(my_log_path,'a',encoding='utf-8',newline='') as logf:
            writer = csv.writer(logf,delimiter=';')
            writer.writerow(logs)

但是我知道我的局部变量在赋值之前被引用为什么 mycount 如果它位于函数顶部和外部,则被视为局部变量?我该如何解决这个问题?谢谢

您的类无法访问 mycount,因为它是一个全局变量。在修改类之前,您应该在类中使用global

def parse(self, urls):
        global mycount
        url = urls[1]

最新更新